与数据提供者并行执行

时间:2018-06-08 06:29:13

标签: selenium testng testng-dataprovider

我正在尝试使用dataprovider并行运行测试。我在testng xml中提到了dataproviderthreadcount=3

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" data-provider-thread-count="3"parallel="methods">
    <test name="Test">
        <classes>
            <class name="com.sample.test">
            </class>
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->

测试方法:

@Test(dataProvider = "dp1", threadPoolSize=3,invocationCount=1)
public void Testsuitesample(String url, String add1, String add2){}

结果:3个浏览器实例打开,所有三个数据仅传递给浏览器。其他浏览器仍处于闲置状态。这是解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:0)

您可能需要在数据提供程序方法中将parallel设置为true,例如

@DataProvider(parallel = true)
public Object[][] dp1() {

}

此外,调用计数应等于或大于线程池大小。