我有一种@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"} };
}
如果我要并行运行测试用例,即如果要并行执行“开发团队负责人”,“ QA”,“业务分析师”,“ DevOps Eng”,“ PMO”,我该怎么办?
5个浏览器-每个浏览器运行不同的测试用例。
TestNG 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扩展,在其中可以使用global.datadriven.parallel
和<test-case>.parallel
为data-provider属性设置行为。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句