![](/img/trans.png)
[英]How to run tests in parallel by methods with TestNG and Selenium
[英]How to run TestNG tests in parallel JVM process (not threads)
是否可以在两个不同的 java 进程(JVM)中使用 TestNG 框架运行测试? 默认情况下,TestNG 创建一个进程,所有并行测试都在其中的不同线程中运行。 而且我需要将所有 static 内容包装在 ThreadLocal<> 中,以使其成为线程安全的。 但是,如果有一种方法可以在两个不同的进程中运行测试,我可以保持一切原样。 我不想担心线程安全。
TestNG 无法在多个进程中运行测试。 但是,至少 maven(我也希望 gradle)有一个插件可以完成这项工作。
See, how maven surefire plugin solves this: https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html .
您可以使用此配置示例(将其添加到 pom.xml,build->plugins 部分):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<forkCount>2</forkCount>
<reuseForks>false</reuseForks>
<reportsDirectory>target/surefire-reports-${surefire.forkNumber}</reportsDirectory>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/Suite1.xml</suiteXmlFile>
<suiteXmlFile>src/test/resources/Suite2.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.