簡體   English   中英

使用 Maven 同時在多個線程上運行單個 TestNG 測試

[英]Running a single TestNG test on multiple threads simultaneously using Maven

這就是我想要做的。 我有一個測試,它進入測試頁面並執行一些復雜的任務,如果測試失敗並使用 OCR 工具執行進一步的任務,請稍等片刻然后截屏。 我希望同樣的測試同時在 10 個 chrome 瀏覽器會話上運行,我們正在嘗試使用它進行准負載測試,並且由於使用第三方庫的測試已經足夠復雜,因此使用 Jmeter 的 WebDriver 插件之類的東西看起來並不在這里可行。 無論如何,無論我嘗試什么,測試似乎都在一個接一個地運行,而不是打開 10 個瀏覽器窗口並並行運行。 這是我迄今為止嘗試過的而不是環顧互聯網的方法。

TestNG.xml 路由

<suite name="UI Tests" parallel="methods" preserve-order="true" thread-count="10">

不工作

馬文路線

在 pom.xml 中添加了以下內容

...
<build>
 <plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M4</version>
    <configuration>
        <forkCount>10</forkCount>
        <reuseForks>true</reuseForks>
    </configuration>
  </plugin>
 </plugins>
</build>
...

嘗試了一些有點hacky的東西

數據提供者路線

為測試提供唯一數據,以便它可能同時運行相同的測試但無濟於事。

@DataProvider(name="Unique")
public static Object[][] unique(){
   return new Object[][] {
     {"someValue"},
     ....
     };
}

@Test(dataProvider="Unique")
public void test(String unique){
//test code
}

以上選項都沒有讓我在 chrome 瀏覽器上同時多次運行相同的測試。 有沒有更好的方法來實現它?

您是否嘗試將 threadPoolSize 和 invocationCount 參數添加到 @Test 注釋中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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