3

我有 4 个 @Test 方法,并希望每个方法运行 3 次。我想在 12 个线程中同时执行这一切。

我创建了一个这样的 testng.xml 文件

<suite name="Suite1" verbose="1" parallel="methods" thread-count="100">

  <test name="Test1">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test2">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test3">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

</suite>

如果我设置 parallel="methods" TestNG 在 4 个线程中为 Test1 执行 4 个测试方法,然后对 Test2 执行相同的操作,然后对 Test3 执行相同的操作。但我不想在运行 Test2 之前等待 Test1 完成。TestNG 能够同时运行 Test1、Test2 和 Test3(如果 parallel="tests"),但在这种情况下,它会为每个 Test 依次执行 4 个测试方法。

有没有办法告诉 TestNG 根本不等待并在单独的线程中启动所有测试的所有方法?

4

3 回答 3

1

让套件运行并行测试,然后每个测试都可以运行并行方法。就像是:

<suite name="Suite1" verbose="1" parallel="tests" thread-count="10">

  <test name="Test1" parallel="methods" thread-count="4">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test2" parallel="methods" thread-count="4">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

  <test name="Test3" parallel="methods" thread-count="4">
    <classes>
      <class name="Tests"/>
    </classes>
  </test>

</suite>
于 2014-01-08T22:57:48.247 回答
0

如果这些是相同的测试,那么您可以使用 invocationCount 和 threadpoolsize。在 @Test 注释中添加 invocationCount=3 和 threadPoolsize 为 3。在 testng.xml 中,只创建一个测试(而不是 3 个),设置 parallel=methods 和 thread-count=4。

希望能帮助到你。

于 2014-01-09T17:54:55.427 回答
0

Try using this:

<suite name="suite"  parallel="methods"  thread-count="20">

Hope this helps.

于 2016-02-17T16:07:14.307 回答