我想在testng.xml中对参数化组进行参数化,然后用DataProvider
获取数据。
我想运行一个元组和一个包含在元组中但具有不同参数的组。看起来,如果该组被包含在元组中,则它不会再次启动。我的用例是一个具有不同用户角色的网站(超级组应该从管理角度进行测试,group1应该仅作为访问者进行测试)
<suite name="Suite1" verbose="1" parallel="false">
<test name="Test1">
<groups>
<define name="supergroup">
<include name="group1" />
<include name="group2" />
</define>
<run>
<include name="supergroup">
<parameter name="config" value="super" />
</include>
<include name="group1">
<parameter name="config" value="first" />
</include>
</run>
</groups>
<packages>
<package name="com.company.test.*" />
</packages>
</test>
</suite>
我想用DataProvider获取参数并将它们注入测试类。 ITestContext似乎没有机会访问测试级别
下面定义的参数@DataProvider(name = "test", parallel = false)
public static Object[][] testDataProvider(ITestContext context){
String config = context.getCurrentXmlTest().getParameter("config");
Object[][] back = new Object[1][1];
back[0] = new Object[] { config };
return back;
}
答案 0 :(得分:0)
我可以这样做:
<suite name="Suite1" verbose="1" parallel="false">
<test name="SuperTest">
<parameter name="config" value="super" />
<groups>
<run>
<include name="group2" />
<include name="group1" />
</run>
</groups>
<packages>
<package name="com.company.test.*" />
</packages>
</test>
<test name="SubTest">
<parameter name="config" value="sub" />
<groups>
<run>
<include name="group1"/>
</run>
</groups>
<packages>
<package name="com.company.test.*" />
</packages>
</test>
</suite>
虽然我似乎没有得到群组模式