2012-07-30 52 views

回答

49

潤黃瓜重播格式:

cucumber -f rerun --out rerun.txt 

它將所有的輸出位置失敗情景此文件。

然後,你可以通過使用

cucumber @rerun.txt 
+0

它有反正把它們都放在一個CMD線的? – 2014-07-22 12:44:59

+0

您可以使用rake任務來運行兩個黃瓜命令。之後,您可以撥打耙文件: 耙特點:jenkins_with_rerun – Ezetha 2014-07-23 14:47:59

+3

您可以使用&&把它們都放在一個CMD線(如果你只想啓動它,然後走開)黃瓜-f重播--out rerun.txt &&黃瓜@ rerun.txt – 2014-10-30 20:20:38

3

這裏是我的簡單利落的解決方案重新運行它們。

第1步:寫下你的黃瓜java文件,如下所述rerun:target/rerun.txt。黃瓜在rerun.txt中寫下失敗的場景行數,如下所示。

features/MyScenaios.feature:25 
features/MyScenaios.feature:45 

後來我們就可以在第2步

使用本文件
@RunWith(Cucumber.class) 
@CucumberOptions(
    monochrome = true, 
    features = "classpath:features", 
    plugin = {"pretty", "html:target/cucumber-reports", 
       "json:target/cucumber.json", 
       "rerun:target/rerun.txt"} //Creates a text file with failed scenarios 
       ,tags = "@mytag" 
      ) 
public class MyScenarioTests { 

} 

第2步:創建另一個場景文件,如下圖所示。比方說,這是FailedScenarios.java

@RunWith(Cucumber.class) 
@CucumberOptions(
    monochrome = true, 
    features = "@target/rerun.txt", //Cucumber picks the failed scenarios from this file 
    format = {"pretty", "html:target/site/cucumber-pretty", 
      "json:target/cucumber.json"} 
) 
public class FailedScenarios { 

} 

每次如果你發現任何不合格的情況在步驟運行該文件2

+0

我嘗試了上面提到的完全相同的步驟。我看得出來,rerun.txt已經生成,但還是失敗了的情況都沒有得到執行 – SachinB 2018-03-07 11:37:51

+0

你必須使用'FailedScenarios'類來執行你的測試。換句話說,您需要右鍵單擊'FailedScenarios'並點擊運行。 – vkrams 2018-03-08 04:14:45

+0

我可以實現它。我在這裏發佈了我的答案。 https://開頭計算器。COM /問題/ 49132447 /重新運行最失敗的場景,使用Maven的黃瓜,寧靜/ 49168147#49168147 – SachinB 2018-03-08 08:39:25

0

你爲了使用@目標/ rerun.txt至少需要1.2.0版本新功能。之後,只需創建一個最後運行的runner並使用此文件。另外,如果您正在使用Jenkins,則可以在隨機故障功能上放置標籤,以便構建不會失敗,除非運行兩次。

相關問題