java - TestNG 与 DataProvider 并行执行

标签 java multithreading testng dataprovider

我有一个从数据提供者接收数据的测试。我希望此测试与来自数据提供者的不同值并行运行。

我试过这样的方法:

public class IndependentTest
{
@Test(dataProvider = "dp1" ,threadPoolSize=3,invocationCount=1)

public void testMethod(int number)
{
    Long id = Thread.currentThread().getId();
    System.out.println("HELLO :  " + id);
}


@DataProvider(name = "dp1",parallel=true)
public Object[][] dp1() {
  return new Object[][] {
      new Object[] { 1 },
      new Object[] { 2 },
      new Object[] { 3 },
      new Object[] { 4 },
      new Object[] { 5 },
      new Object[] { 6 },
      new Object[] { 7 },
      new Object[] { 8 }

  };
}

我收到的输出是:

你好:10

你好:12

你好:17

你好:11

你好:16

你好:14

你好:13

你好:15

产生了 10 个线程,而我在线程池大小中指定了 5 个线程。 您能否告诉我们必须向上面的代码片段添加什么来控制数据提供程序线程池的大小。

最佳答案

您需要使用dataproviderthreadcountthreadpoolsizeinvocationcount 值不是必需的。查看详情 here .

关于java - TestNG 与 DataProvider 并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31521466/

相关文章:

java - Selenium 与 TestNG 和 Java 中的数据提供程序不匹配错误 | org.testng.internal.reflect.MethodMatcherException

java - 接收错误 "org.openqa.selenium.NoSuchSessionException: Session ID is null. Using WebDriver after calling quit()?"

java - 如何使用 webdriver、testng 编写测试来检查浏览器向下滚动?

java - Webdriver,检测DOM变化并等待

java - 如何使用 PDFBox 读取 PDF 文件内容中的特殊字符串

java - 可执行 jar 文件不会通过双击加载 dll 但它会运行

java - 如何匹配字符串中特定索引处的字符?

multithreading - 调用 Delphi DLL 的意外线程行为

Java 数据包处理程序线程

multithreading - JGroups RPC : NoSuchMethodException