ここでこれを実行することができる1つの方法です。
あなたは基本的に現在の<test>
タグのコンテキストすなわちにExcelスプレッドシートの「シート」の名前を注入。、属性としてITestContext
、その後@DataProvider
注釈付きデータプロバイダの中から、あなたは基本的に有しているシートを決定するために、この属性を読みます読まれる。
次のサンプルは現在によって電力供給される(それは最初のものに依存しなければならない)最初@Test
方法は、フロー及び第二@Test
方法を行うことの一部として、この属性を注入請求これを行う2つの@Test
方法を示してダイナミックデータプロバイダはデータを消費するだけです。
import org.testng.ITestContext;
import org.testng.Reporter;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class SampleTestClass {
/**
* This method is simulating the master test method which would interact with
* the web app and bring the application to a state wherein the next test method
* should take over and interact.
*/
@Test
public void testLogin() {
//Simulating toggling between multiple flows.
int whichFlow = Integer.parseInt(System.getProperty("flow", "1"));
Reporter.getCurrentTestResult().getTestContext().setAttribute("flow", whichFlow);
}
/**
* This method is intentionally dependent on "testLogin" because its "testLogin" that will
* first interact with the web application and bring the application to the place from where
* further interaction is required, but which will vary based on some "x" criteria
* The "x" criteria is now available as an attribute in the current <test> tag's
* context.
*/
@Test(dependsOnMethods = "testLogin", dataProvider = "getData")
public void testSomethingElse(int a, String b) {
//Real test method logic goes here.
System.out.println(a + ":" + b);
}
@DataProvider
public Object[][] getData(ITestContext context) {
int whichFlow = Integer.parseInt(context.getAttribute("flow").toString());
switch (whichFlow) {
case 1:
return new Object[][]{
{1, "Login"},
{2, "Signup"}
};
case 2:
return new Object[][]{
{100, "Fees"},
{200, "Charges"}
};
case 3:
default:
return new Object[][]{
{900, "Logout"},
{1000, "Random"}
};
}
}
}
こんにちは!この質問は、意味のある回答を生み出すには広すぎるかもしれません。あなたは、あなたがこれをやろうとしている間に遭遇した特定の問題にあなたの質問を減らし、[質問する方法](https://stackoverflow.com/help/how-to-ask)を参照してください。がんばろう! – mrfreester
参照:[Xを行うには?](https://meta.stackoverflow.com/questions/253069/whats-the--new-current-close-reason-for-how-do-i-do- x)SOに関する期待は、質問をするユーザーが自分の質問に答えるだけでなく、その研究、コードの試行、結果を共有するということです。これは、時間をかけて自分自身を助けようとしていることを示しています。明白な回答を繰り返さないようにしてくれています。そして、より具体的で適切な答えを得ることができます。参考:[ask] – JeffC