与数据提供者并行执行

Parallel execution with data provider

我正在尝试 运行 使用 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 个浏览器实例,所有三个数据都传递给了唯一的浏览器。其他浏览器仍然闲置。有解决办法吗?

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

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

}

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