2017-10-12 203 views
0

需要一點幫助,以獲得正確的方法來並行運行testng測試用例。使用testng |並行運行硒測試用例maven

當前設置。 在本地機器上使用單個驅動程序實例運行所有測試用例。 Selenium WebDriver TestNg Maven

必需。 想要在本地運行具有多個驅動程序實例的測試用例。

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

的testng.xml

<suite name="testSuite" verbose="10" preserve-order="true" configfailurepolicy="continue"> 

<test name="SanityTest" parallel="none"> 
    <classes> 
     <class name="test.java.HeaderTests"/> 
    </classes> 
</test> 
</suite> 

驅動

driver = new InternetExplorerDriver(capabilities); 
driver.manage().window().maximize(); 
driver.get(url); 
+0

嗯..你在找什麼,準確的?您是否嘗試過使用TestNG parallel [屬性](http://testng.org/doc/documentation-main.html#parallel-running)設置並運行測試? – user2611581

+0

感謝您的回覆。我正在研究如何設置驅動程序並行運行測試用例。我需要爲不同的線程創建多個實例嗎?或者我可以只使用單個驅動程序實例嗎? – iamvroon

回答

0

您必須修改的testng.xml文件,並告訴它在

並行運行: 類平行:方法

,請訪問:https://howtodoinjava.com/testng/testng-executing-parallel-tests/

+1

這似乎沒有足夠好的格式,無論如何,我不清楚你的解決方案是什麼。並且:與外部的鏈接通常不是一個好主意,例如因爲網站可能會消失,然後我們就會迷失在這裏。 – dr0i

0

看來,在你的testng.xml您的並行值設置爲「無」。爲了並行運行,您必須將它設置爲 「class」:它將並行運行類或「方法」:它將運行方法,而不管類或包是否並行運行。

不過只是一個說明,它很難說出你是如何處理你的驅動程序,但你需要使它具體線程,否則你的命令可能會被髮送到錯誤的驅動程序。

希望這會有所幫助。

+0

感謝您的回覆。我正在研究如何設置驅動程序並行運行測試用例。我需要爲不同的線程創建多個實例嗎?或者我可以只使用單個驅動程序實例嗎? – iamvroon

0

根據您的問題和澄清,似乎您正在尋找並行運行測試。對於例如 - 並行運行多個測試類,以便縮短測試執行時間。在這種情況下,建立測試運行器的多個線程(比如TestNG)並且不要設置多個線程/ webdriver實例更爲明智。類似這樣的:

<suite name="Parallel test runs" parallel="tests" thread-count="2"> 
     <test name="test1"> 
      <classes> 
       <class name="com.company.test1" ></class> 
      </classes> 
     </test> 

     <test name="test2"> 
      <classes> 
       <class name="com.company.test2" ></class> 
      </classes> 
     </test> 
    </suite> 

這將並行運行test1和test2。使用TestNG,您可以並行運行方法,類或組。爲WebDriver設置多個線程的一種可能的用例是在測試運行時,您想要繼續檢查是否存在警報。 (我個人不贊成這種風格,但我曾看到球隊正在這樣做)。 對於這樣的工作方法,測試類不應該是相互依賴的。此外,每個測試都應該設置(開始時)並拆除(在測試結束時)Webdriver的一個實例。