将@DataProvider与TestNG XML一起使用时,在TestNG中面临并行测试执行问题
我编写了一个TestNG类,它包含两个方法(一个是将@DataProvider与TestNG XML一起使用时,在TestNG中面临并行测试执行问题,testng,threadpool,testng-dataprovider,Testng,Threadpool,Testng Dataprovider,我编写了一个TestNG类,它包含两个方法(一个是@DataProvider,一个是@Test) 在testng.xml中,我将参数threadcount设置为“2”。但是,当我将testng.xml作为TestNGSuite运行时,@Test的4个实例将同时启动,而不是2个线程 如何仅限制testing.xml中提到的线程数,而不限制从@DataProvider传递的测试数据量?TestNG在TestNG套件xml文件中有两个属性,用于控制线程池的大小 线程计数-这允许您在启用并行性(测试|
@DataProvider
,一个是@Test
)
在testng.xml中,我将参数threadcount设置为“2”。但是,当我将testng.xml作为TestNGSuite运行时,@Test
的4个实例将同时启动,而不是2个线程
如何仅限制testing.xml中提到的线程数,而不限制从
@DataProvider
传递的测试数据量?TestNG在TestNG套件xml
文件中有两个属性,用于控制线程池的大小
线程计数
-这允许您在启用并行性(测试|类|方法)时控制线程数。如果未指定,则默认值为5
数据提供程序线程计数
-这允许您在涉及数据提供程序时控制线程数。如果未指定,则默认值为10
为了解决您的问题,您可以考虑在<代码> TESTNG套件中设置<代码>数据提供程序线程计数< /COD>属性,将XML 文件设置为<强> 2 < /强>。在此之后,TestNG应该只生成两个线程
请注意:您需要创建一个包含测试类的套件xml文件。只有这样才能奏效
有关TestNG DTD的更多详细信息,请参阅。TestNG在TestNG套件xml
文件中有两个属性,用于控制线程池的大小
线程计数
-这允许您在启用并行性(测试|类|方法)时控制线程数。如果未指定,则默认值为5
数据提供程序线程计数
-这允许您在涉及数据提供程序时控制线程数。如果未指定,则默认值为10
为了解决您的问题,您可以考虑在<代码> TESTNG套件中设置<代码>数据提供程序线程计数< /COD>属性,将XML 文件设置为<强> 2 < /强>。在此之后,TestNG应该只生成两个线程
请注意:您需要创建一个包含测试类的套件xml文件。只有这样才能奏效
有关TestNG DTD的更多详细信息,请参阅
public class BaseTestNG extends BaseTest{
@DataProvider(name="Demo", parallel=true)
public Object[][] getData() {
Object[][] data = new Object[4][2];
data[0][0] = "sampleuser1";
data[0][1] = "abcdef";
data[1][0] = "testuser2";
data[1][1] = "zxcvb";
data[2][0] = "guestuser3";
data[2][1] = "pass123";
data[3][0] = "guestuser4";
data[3][1] = "pass123";
return data;
}
@Test(dataProvider="Demo")
public void BaseTestNG(String username, String password) {
System.out.println(username + " :: " & password)
Thread.currentThread.Sleep(5000);
}
}