Pur*_*rus 3 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>
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
Selenium 测试预计将并行运行。我希望打开 2 个浏览器并运行测试脚本。
但我只看到 1 个浏览器,所有 3 个测试都一个接一个地运行,而不是并行运行。我尝试过使用“并行”属性的测试、方法、类、实例选项。
有什么帮助吗?
这是由于 TestNG 6.13.1 中的错误所致 [有关更多详细信息,请参阅GITHUB-1636 ]
我已经在 TestNG 的最新快照 (6.14-SNAPSHOT) 中修复了这个问题,并且应该可以在 TestNG 的发布版本 (6.14) 中使用。
但在那之前,请将您的套件 xml 文件更改为如下所示:
<?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" parallel="methods" thread-count="2" verbose="1">
<classes>
<class name="SampleTest">
<methods>
<include name="firstTest"/>
<include name="secondTest"/>
<include name="thirdTest"/>
</methods>
</class>
</classes>
</test>
</suite>
Run Code Online (Sandbox Code Playgroud)
解决方法基本上是parallel="methods" thread-count="2"在<test>级别上添加属性。
| 归档时间: |
|
| 查看次数: |
6338 次 |
| 最近记录: |