同时使用@DataProvider和@参数
我想知道是否有办法同时使用@DataProvider
和Paramaters
传递参数。
我尝试了两个选项,但都失败了:
@Parameters("Brand")
@Test(dataProvider="dpCGA", groups={"CGA"})
public void createAccount(String brand) {
setBrand(brand);
}
上例中的数据提供程序正在覆盖品牌变量。
@Parameters("Brand")
@Test(dataProvider="dpCGA", groups={"CGA"})
public void createAccount(String brand, String email) {
setBrand(brand);
createAccount(email);
}
测试用例甚至没有运行。
我正在使用TestNG来运行我的测试用例,并希望从XML文件中获取品牌参数。
此外,我还有一个用来保存电子邮件的Excel文件,并希望使用@DataProvider
获取这些值。
是否可以同时使用这两个标记?如果没有,是否有其他方法可以从XML文件中获取品牌参数?
提前谢谢
解决方案
@DataProvider是将参数传递给方法的方法之一。不能对同一方法同时和使用。
查看您的问题,您可以简单地将品牌添加到DataProvider方法中,如下所示
@DataProvider(name="dpCGA")
public Object[][] data() {
return new Object[][] {
{"brand", "email1"},
{"brand", "email2"}
};
}
并将其传递给方法
@Test(dataProvider="dpCGA", groups={"CGA"})
public void createAccount(String brand, String email) {
setBrand(brand);
createAccount(email);
}
相关文章