如何并行运行测试用例?

问题描述 投票:0回答:2

我有一个@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 -->
selenium selenium-webdriver testng testng-dataprovider testng.xml
2个回答
0
投票

为了并行运行数据驱动的测试,您需要在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 extension,您可以使用global.datadriven.parallel<test-case>.parallel properties for data-provider设置行为。


0
投票

好吧,有一件事pubic不是范围:) - 你在那里也有一些更不正确的语法。你的数据提供者中的Object之后的空格不应该存在,函数签名应该是

public Object[][] Execution() throws IOException {
     return new Object[][] {{"Developer"},{"Team Lead"},{"QA"},{"Business Analyst"},{"DevOps Eng"},{"PMO"} };
}

接下来,TestExecution方法中的参数定义不正确。

public void TestExecution(String arg) {
    // Execute your tests
}

最后,无论何时使用它,你都必须将DataProvider中的'p'大写。所以这让我们失望了

@Test(dataProvider="testdataprovider")
public void TestExecution(String arg)
{
/* Read the testcases from dataprovider and execute it*/
}
@DataProvider(name="testdataprovider")
public Object[][] Execution() throws IOException
{
return new Object[][] {{"Developer"},{"Team Lead"},{"QA"},{"Business Analyst"},{"DevOps Eng"},{"PMO"} };
}

此时我不确定还有什么问题。这是你想要的东西吗?如果这有或没有帮助,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.