我有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在Test1的4个线程中执行4个测试方法,之后对Test2执行相同的操作,然后对Test3执行相同的操作。但我不想在运行Test2之前等待Test1完成。 TestNG能够运行Test1,Test2&amp;同时测试3(如果并行=“测试”),但在这种情况下,它为每个测试按顺序执行4个测试方法。
有没有办法让TestNG完全不等待并在单独的线程中启动所有测试的所有方法?
答案 0 :(得分: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>
答案 1 :(得分:0)
如果这些是相同的测试,那么您可以使用invocationCount和threadpoolsize。在@Test注释中,将invocationCount = 3和threadPoolsize添加为3.在testng.xml中,只创建一个测试(而不是3),设置parallel = methods和thread-count = 4。
希望它有所帮助。
答案 2 :(得分:0)
尝试使用:
<suite name="suite" parallel="methods" thread-count="20">
希望这有帮助。