我实际上需要使用来自TestNG.xml的@Parameter传递浏览器类型,并且测试需要使用数据进行参数化,例如:使用@DataProvider
的用户名和密码由于我正在尝试实现并行多浏览器测试,我需要这个解决方案
@Test(dataProvider="data")
@Parameters("browser")
public void test1(String browser, String uname, String pass){
System.out.println(browser+uname+pass);
}
@DataProvider
public Object[][] data(){
String[][] data = new String[2][2];
data[0][0] = "user1";
data[0][1] = "pass1";
data[1][0] = "user2";
data[1][1] = "pass2";
return data;
}
也欢迎任何替代解决方案。
答案 0 :(得分:1)
由于dataprovider要求传递的列数应与使用dataprovider的函数的参数匹配,因此不能使用browser参数。您可以使用@BeforeTest注释创建另一个方法,并将浏览器值分配给类变量,并使用您需要的任何方法。