我有一些需要使用数据提供程序参数完成的init语句,并且希望在@BeforeMethodsetup方法中访问数据提供程序参数值.这可能吗?
dja*_*fan 19
是的,它完全有可能.在带@BeforeMethod 注释的方法中,您可以传递Object []的可选内置参数,该参数基本上是传递给@Test方法的参数的副本.在我的情况下,我将2个args传递给我的测试方法:
@Test(dataProvider="provider")
public void doTest( TestHelper testHelper, Map<String,String> paramMap ) {
....
Run Code Online (Sandbox Code Playgroud)
所以,像这样(它不需要是工厂DataProvider):
@BeforeMethod
public void setUp( Object[] testArgs ) {
Map<String,String> paramMap = (Map<String, String>)testArgs[1];
TestHelper testHelper = testArgs[0];
String testName = paramMap.get( "testCaseName" );
log.logTcStep( "Test case name: " + testName );
log.setLogTcName( testName );
testHelper.setTestName( testName );
testHelper.setTagsByString( paramMap.get( "browser" ) );
testHelper.setBuildNumber( paramMap.get( "environment" ) );
}
Run Code Online (Sandbox Code Playgroud)
Nat*_*ill -3
不,那里没有。
正确的方法是使用 @Factory 并为每组数据创建测试类的实例,如下所述:https://groups.google.com/forum/# !topic/testng-users/3Kny3qTVdmg
| 归档时间: |
|
| 查看次数: |
5113 次 |
| 最近记录: |