[英]Run testng methods across different tests in parallel
我正在使用maven運行的testng.xml
文件中有多個測試標簽。 我在套件級別將parallel屬性設置為方法,並將線程數設置為5。我面臨的問題是測試是按順序執行的,並且僅測試用例內部的方法是並行執行的。 更清楚地說,盡管有未使用的線程(在我的情況下為網格中的硒節點)可用,但隨后的測試會一直等到之前測試中的所有方法都執行完為止。
這是我使用過的testng.xml,
<suite name="Suite1" verbose="1" parallel="methods" thread-count="5" preserve-order="false">
<test name="Login" >
<classes>
<class name="testSuite.TestSet1" />
</classes>
</test>
<test name="Product Search">
<classes>
<class name="testSuite.TestSet2"/>
</classes>
</test>
</suite>
由於我的硒網格中有10個以上的可用節點,因此,這種行為會大大增加執行時間,並且無法達到擁有網格體系結構的目的。 請讓我知道是否有一種方法可以並行執行整個套件中的測試方法。 我敢肯定我很想念一些東西,但是您能幫我指出嗎?
在您的TestNG xml文件中輸入parallel =“ tests”
Parallel = method完全可以做到這一點-“測試用例中的方法是並行執行的”。
如果要並行執行測試標簽,請使用parallel = tests。
這將並行運行所有測試標簽。
但是您聲明有10個可用節點。 如果上面是您僅有的xml,則一次只有兩個節點,因為您只有兩個測試標簽。
<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個線程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.