2017-01-11 84 views
3

黃瓜特徵文件和方案,使用黃瓜,我們創建由不同的場景不同功能的文件。我們記住的一件事是每個場景都獨立於所有其他場景。並行執行

問:我們可以爲所有的特徵文件或方案做並行執行?

+0

普萊斯e分享你正在使用的黃瓜味道。針對不同的環境有不同的解決方案。 –

+0

@ThomasSundberg ..那麼我使用java編碼。你是什​​麼意思的味道?請詳細說明。 – Mirzab

+1

我的問題是你使用Cucumber-JVM,Cucumber for Ruby或Cucumber作爲任何其他語言?有大約10種不同的實現可供選擇。 –

回答

1

開箱即用黃瓜不支持並行測試。你可以使用Maven來運行並行測試。我們有一個github項目檢查這個鏈接。它有一些關於並行測試的細節。

請查看以下鏈接:

  1. JVM-Parallel Execution Example

  2. Git-Hub Link

1

是的,因爲這兩個其他的答案表明,它不是開箱。

我爲承載上述Cucumber-JVM文章的公司工作。驗收測試 - 尤其是基於Web的測試 - 通常非常緩慢,並行測試是加速它們的好方法。您可能還想考慮在無頭瀏覽器中運行Web測試,例如phantomJS。它們非常適合過夜運行,但我會在發佈之前在Firefox或Chrome上測試它。您可能有瀏覽器特定的錯誤。

如果你正在運行Selenium測試,你可能想也考慮使用硒電網。上述方法在同一臺機器上啓動多個瀏覽器 - 但機器只能運行如此多的瀏覽器。 Selenium Grid將平衡多臺機器上的測試。例如,你可以有5個節點並行運行5個並行測試= 25個並行測試!

如果同時運行多個測試,請記住測試應該是隔離的 - 理想情況是擁有並拆除它們自己的數據。不要假設任何其他測試的順序(we use aliasing to get around this)。

哦,如果你把它調高確實高,你最終會得到一個性能測試。所以要小心!

下面是一些有用的鏈接:

1

感謝大家的幫助!我已經得到了答案。下面是逐步解決方案 Flavor - Cucumber-JVM IDE - Eclipse 1-什麼? - 刪除您的測試運行文件 爲什麼? - 對於並行測試,JVM會自動創建每個運動員每個並行處理 什麼時候? - 這也許在你的pom.xml 爲什麼任何配置enter image description here

2 - 什麼? - 添加下面提到屬性之前的第一步? - 將新增後 當-Before在你的pom.xml 爲什麼編譯

UTF-8

3-什麼 - 添加下面提到的插件??? - 這會自動創建亞軍 當?-Before編譯

org.apache.maven.plugins Maven的萬無一失,插件 2.19.1

  <configuration> 
       <additionalClasspathElements> 
        <additionalClasspathElement>resources</additionalClasspathElement> 
       </additionalClasspathElements> 
       <forkCount>5</forkCount> 
       <reuseForks>true</reuseForks> 
       <includes> 
        <include>**/*IT.class</include> 
       </includes> 
      </configuration> 

ParllelExecution

4-什麼? - 在你的POM.xml中添加下面提到的插件 爲什麼?當?-Before編譯

com.github.temyers 黃瓜JVM的並行插件 2.2 - 這將創造上的功能或場景, 的基礎上並行執行將創建傑森,HTML報告以及 。0 generateRunners 驗證 generateRunners

    <configuration> 
         <glue>russel.StepDefination.Option1.IN451</glue> 
         <featuresDirectory>Login</featuresDirectory> 
         <cucumberOutputDir>target/Parallel-report</cucumberOutputDir> 
         <format>json,html</format> 
         <parallelScheme>SCENARIO</parallelScheme> 
         <!-- <parallelScheme>FEATURE</parallelScheme> --> 

        </configuration> 
       </execution> 
      </executions>   

ParallelExecutionSceanrio-Feature

5-轉到的控制檯,並運行commomd - MVN清潔 - MVN編譯 - MVN驗證

+0

好解釋Mirzab,我遵循所有步驟但是Cucumber輸出目錄「並行報告」不是在「目標」文件夾下創建的。你能分享你的完整pom.xml以供參考嗎? – user3302083