基于java TestNG的Selenium测试不能并行运行
我正在使用下面的TestNG配置来启用Selenium测试的并行执行
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test-Automation" parallel="methods" thread-count="2" verbose="1">
<test name="Suite Test">
<classes>
<class name="SampleTest">
<methods>
<include name="firstTest"/>
<include name="secondTest"/>
<include name="thirdTest"/>
</methods>
</class>
</classes>
</test>
</suite>
Java代码:
@Test(dataProvider = "TestData")
public void firstTest(String data){
//Code
}
@Test(dataProvider = "TestData")
public void secondTest(String data){
//Code
}
@Test(dataProvider = "TestData")
public void thirdTest(String data){
//Code
}
硒测试预计将并行运行。我希望有两个浏览器可以打开并运行测试脚本
但我只看到一个浏览器,所有3个测试都一个接一个地运行,而不是并行运行。我尝试过使用“并行”属性的测试、方法、类和实例选项
有什么帮助吗
# 1 楼答案
这是由于TestNG 6.13.1中的一个错误造成的[有关更多详细信息,请参见GITHUB-1636]
我已经在TestNG的最新快照(6.14-SNAPSHOT)中修复了这个问题,这应该可以在TestNG的发布版本(6.14)中使用
但在此之前,请将您的套件xml文件更改为如下所示:
解决方法基本上是在
<test>
级别添加属性parallel="methods" thread-count="2"
# 2 楼答案
将所有测试分开,然后尝试使用parallel=“test”