使用Selenium和TestNG并行交叉浏览器测试,而不使用testng.xml

时间:2016-03-03 06:59:48

标签: java maven selenium selenium-webdriver testng

我正在使用Maven Failsafe + TestNG来运行Selenium测试。我知道可以通过在pom.xml中定义系统属性来将参数传递给我的TestNG测试,如下所示:

int main()
{
    int x;
    cout<<"enter the value of x ";
    cin>>x;

    int answer=num(x);
    cout<<"the total sum of the first n integer is "<<answer;

    return 0;
}

我的TestNG测试将此属性称为:

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
      <systemPropertyVariables>
        <browser>firefox</browser>
      </systemPropertyVariables>
    </configuration>
  </plugin>

但是,我想知道是否可以并行运行跨浏览器测试而无需指定testng.xml文件。我正在尝试这样的事情,但它没有用。如果你能提供帮助,请欣赏。

@Parameters("browser")
public void setUpClass(@Optional("firefox") String browser)
{
   ...
}

仅使用pom.xml配置是否可以实现此目的?由于我的项目具有多模块特性,我并不热衷于使用testng.xml文件。

2 个答案:

答案 0 :(得分:0)

您可以填充* .properties文件中的所有属性,然后将其与Properties Maven Plugin一起使用。 QATools Properties会在驱动程序配置期间轻松使用它们。

答案 1 :(得分:0)

您也可以以编程方式运行任何TestNG测试。点击此处TestNG Running programmatically 所以从maven你只需要用main方法调用你的类,使用代码以编程方式运行testng并从任何源读取你想要的任何属性(csv,properties,xml,xlsx等等)。