簡體   English   中英

在不同的測試中並行運行testng方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM