我正在使用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文件。
答案 0 :(得分:0)
您可以填充* .properties文件中的所有属性,然后将其与Properties Maven Plugin一起使用。 QATools Properties会在驱动程序配置期间轻松使用它们。
答案 1 :(得分:0)
您也可以以编程方式运行任何TestNG测试。点击此处TestNG Running programmatically 所以从maven你只需要用main方法调用你的类,使用代码以编程方式运行testng并从任何源读取你想要的任何属性(csv,properties,xml,xlsx等等)。