[英]Cucumber Feature Files and scenarios for parallel execution
使用Cucumber,我們創建包含不同場景的不同功能文件。 我們要記住的一件事是每個場景都獨立於所有其他場景。
問題:我們可以為所有功能文件或方案執行並行執行嗎?
是的,正如其他兩個答案所暗示的那樣,它不是開箱即用的。
我在上面托管Cucumber-JVM帖子的公司工作。 驗收測試 - 尤其是基於Web的測試 - 通常非常慢,並行測試是加速測試的好方法。 您可能還想考慮在無頭瀏覽器中運行Web測試,例如phantomJS。 它們非常適合夜間運行,但我會在發布之前在firefox或chrome上測試它。 您可能有瀏覽器特定的錯誤。
如果您正在運行Selenium測試,您可能還需要考慮使用Selenium Grid。 上述方法在同一台機器上啟動多個瀏覽器 - 但機器只能運行這么多瀏覽器。 Selenium Grid將在多台機器之間平衡測試。 例如,你可以擁有5個節點,每個節點運行5個並行測試,每個節點並行測試25個!
如果並行運行許多測試,請記住測試應該是隔離的 - 理想情況下,測試和拆除他們自己的數據。 不要假設任何其他測試的順序( 我們使用別名來解決這個問題 )。
哦,如果你把它調得很高,你最終會得到性能測試。 所以要小心!
這是一些方便的鏈接:
謝謝大家的幫助!! 我有答案。 下面是逐步解決方案Flavor - Cucumber-JVM IDE - Eclipse 1-什么? - 刪除你的測試運行器文件為什么? - 對於並行測試,JVM會自動為每個並行進程創建每個運行器嗎? - 這可能是任何配置之前的第一步
2-什么? - 在POM.xml中添加下面提到的屬性為什么? - 稍后會添加嗎? - 編譯之前
3-什么? - 在POM.xml中添加下面提到的插件為什么? - 這將自動創建轉輪何時? - 編譯前
org.apache.maven.plugins maven-surefire-plugin 2.19.1
<configuration> <additionalClasspathElements> <additionalClasspathElement>resources</additionalClasspathElement> </additionalClasspathElements> <forkCount>5</forkCount> <reuseForks>true</reuseForks> <includes> <include>**/*IT.class</include> </includes> </configuration>
4-什么? - 在POM.xml中添加下面提到的插件為什么? - 這將創建基於FEATURE或SCENARIO的並行執行,並將創建jason,HTML報告以及何時? - 編譯之前
com.github.temyers cucumber-jvm-parallel-plugin 2.2.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>
5-轉到控制台並運行commomd - mvn clean - mvn compile - mvn verify
這確實是可能的。
有關所有信息和信用,請參閱此鏈接: http : //shashikantjagtap.net/running-cucumber-features-in-parallel-and-aggregating-reports/
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.