java - 在不使用 testng.xml 的情况下使用 Selenium 和 TestNG 进行并行跨浏览器测试

标签 java maven selenium selenium-webdriver testng

我正在使用 Maven Failsafe + TestNG 来运行 Selenium 测试。我知道可以通过在 pom.xml 中像这样定义系统属性来将参数传递给我的 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 测试是这样引用这个属性的:

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

但是,我想知道是否可以在不需要指定 testng.xml 文件的情况下并行运行跨浏览器测试。我正在尝试这样的事情,但没有用。如果您能提供帮助,我们将不胜感激。

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

是否可以仅通过 pom.xml 配置来实现?由于我的项目的多模块性质,我不热衷于使用 testng.xml 文件。

最佳答案

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

关于java - 在不使用 testng.xml 的情况下使用 Selenium 和 TestNG 进行并行跨浏览器测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765218/

相关文章:

java - 如何计算到设定时间的剩余时间

java - 当我尝试将Maven项目部署到tomcat时出现套接字写入错误

java - 用于集成测试的启动服务器失败

selenium - PageFactory 中的 StaleElementReference 异常

java - Hadoop 作业 : Task fail to report status for 601 seconds

java - 在 java 中绘制圆的切片?

java - Maven还是 Ivy ?对于已经投入生产的系统,哪一个更好?还有其他的区别?

java - selenium 对 https 和自动 cookie 处理的支持有多好?

javascript - Selenium IDE - 选择OkOnNextConfirmation 而不使用assertConfirmation?

java - 模型属性被 thymeleaf 设置为 null