selenium - 如何并行运行测试用例?
问题描述
我有一种@Test
方法,我从@Dataprovider
. 我需要并行运行测试用例:
@Test(dataprovider="testdataprodivder")
public void TestExecution(String arg 1)
{
/* Read the testcases from dataprovider and execute it*/
}
@Dataprovider(name="testdataprodivder")
public Object [][]Execution() throws IOException
{
return new Object[][] {{"Developer"},{"Team Lead"},{"QA"},{"Business Analyst"},{"DevOps Eng"},{"PMO"} };
}
如果我想并行运行测试用例,即如果我想并行执行“Developer Team Lead”、“QA”、“Business Analyst”、“DevOps Eng”、“PMO”,我应该怎么做?
5 个浏览器——每个都运行不同的测试用例。
测试NG XML:
<suite name="Smoke_Test" parallel="methods" thread-count="5">
<test verbose="2" name="Test1">
<classes>
<class name="Packagename.TestName"/>
</classes>
</test> <!-- Default test -->
</suite> <!-- Default suite -->
解决方案
为了并行运行数据驱动测试,您需要parallel=true
在@DataProvider
. 例如:
@Dataprovider(name="testdataprodivder", parallel=true)
public Object [][]Execution() throws IOException
{
return new Object[][] {{"Developer"},{"Team Lead"},{"QA"},{"Business Analyst"},{"DevOps Eng"},{"PMO"} };
}
要指定数据驱动测试使用的线程数,您可以指定data-provider-thread-count
(默认为 10)。例如:
<suite name="Smoke_Test" parallel="methods" thread-count="5" data-provider-thread-count="5">
注意:要为外部代码的数据驱动测试动态设置并行行为,您可以使用QAF-TestNG 扩展,您可以在其中使用data-providerglobal.datadriven.parallel
和属性设置行为。<test-case>.parallel
推荐阅读
- javascript - 我的以下反应 Js 代码有什么问题?
- python - 记录器记录到 2 个不同的输出
- c++ - 函数参数的名称与函数调用中使用的变量相同是否有效?
- python - 列表条目显示不应存在的后小数位
- powershell - 如果当前文件大小达到 2 GB,则创建新的 pst 文件
- unity3d - 混合树在 2d 中很糟糕
- java - Selenium Webdriver:如何检查特定屏幕上是否存在 ui 元素,无论它当前是否可见/可点击
- angular - Angular 2有方法打印出svg多边形点
- gradle - Gradle 6 settings.gradle.kts 属性问题
- json - Scala Spark - 将 JSON 列拆分为多列