我在使用maven运行的textarea
文件中有多个测试标记。我在套件级别将parallel属性设置为方法,将线程数设置为5.我面临的问题是测试是按顺序执行的,只有测试用例内的方法是并行执行的。更清楚的是,尽管有未使用的线程(在我的情况下网格中的Selenium节点)可用,但后续测试会等待,直到执行上一个测试中的所有方法。
这是我用过的testng.xml,
testng.xml
由于我的selenium网格中有超过10个节点可用,这种行为会大大增加执行时间,并且无法实现网格架构的目的。请告诉我是否可以使用该方法并行执行套件中的测试方法。我确信我错过了一些愚蠢的东西,但是请你指点一下吗?
答案 0 :(得分:0)
在TestNG xml文件中键入parallel =“tests”
答案 1 :(得分:0)
Parallel =方法就是这样 - “测试用例中的方法是并行执行的”。
如果您希望并行执行测试标记,请使用parallel = tests 这将并行运行所有测试标记。
但是你说你有10个节点可用。如果上面是唯一的xml,那么一次只有两个节点会用完,因为你只有两个测试标记。
答案 2 :(得分:0)
<suite name="Suite1" verbose="1" parallel="tests" thread-count="2" preserve-order="false">
<test name="Login" parallel="methods" thread-count="5">
<classes>
<class name="testSuite.TestSet1" />
</classes>
</test>
<test name="Product Search" parallel="methods" thread-count="5">
<classes>
<class name="testSuite.TestSet2"/>
</classes>
</test>
首先允许您的套件与一次运行的测试套件数量并行运行“测试”(示例2)。
第二个允许你的测试运行“方法”与每个可以运行的方法数量并行(每个例子中有5个)。
如果您遇到线程限制,请在调整这些数字时小心。例如,如果您添加另一个线程数为5的测试组,并将您的套件线程数更改为3.您现在将处于15个线程。