同时使用@DataProvider和@参数

Using both @DataProvider and @Parameters(同时使用@DataProvider和@参数)

本文介绍了同时使用@DataProvider和@参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否有办法同时使用@DataProviderParamaters传递参数。

我尝试了两个选项,但都失败了:

@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);
}

这篇关于同时使用@DataProvider和@参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:同时使用@DataProvider和@参数