Пара идей:
Даже если вы запускаете тесты программно, вы должны иметь возможность вызывать TestNG для файла testng.xml
. Добавьте параметры в файл следующим образом (из документации ):
<suite name="My suite">
<parameter name="parameter" value="Foo"/>
<test name="Courier Test" />
< ... >
Если по какой-то причине вы не используете файл testng.xml, вы можете использовать DataProvider, либо в качестве метода в тестовом классе, либо в качестве статического класса, в зависимости от того, что вам нужно сделать. Примеры ниже (также из документации ).
DataProvider внутри класса:
//This method will provide data to any test method that declares
//that its Data Provider is named "test1"
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
new Object[] { "Parameter" }
}
}
//This test method declares that its data should be supplied
//by the Data Providernamed "test1"
@Test(dataProvider = "test1")
public void Courier_Test(String parameter) {
System.out.println(parameter);
}
DataProvider во внешнем классе:
public static class StaticProvider {
@DataProvider(name = "create")
public static Object[][] createData() {
return new Object[][] {
new Object[] { "Parameter" }
}
}
}
public class Courier {
@Test(dataProvider = "create", dataProviderClass = StaticProvider.class)
public void Courier_Test(String parameter) {
// ...
}
}