2012-07-30 12 views

Odpowiedz

49

Run Ogórek z Rerun formater:

cucumber -f rerun --out rerun.txt 

Będzie lokalizacje wyjściowe wszystko udało scenariusze do tego pliku.

Następnie można ponownie je za pomocą

cucumber @rerun.txt 
+0

czy istnieje i tak, że wszystko jest w jednym wierszu cmd? –

+0

Możesz użyć zadania prowizji, aby uruchomić obie komendy ogórka. Następnie możesz wywołać plik rake jako: funkcje rake: jenkins_with_rerun – Ezetha

+3

Możesz użyć &&, aby umieścić wszystko w jednym wierszu cmd (jeśli chcesz go po prostu uruchomić i odejść) cucumber -f rerun --out rerun.txt && cucumber @ rerun.txt –

3

Oto mój prosty i schludny rozwiązanie.

Krok 1: Napisz plik java ogórka, jak wspomniano poniżej, z rerun:target/rerun.txt. Cucumber zapisuje numery wierszy nieudanych scenariuszy w rerun.txt, jak pokazano poniżej.

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

Później możemy użyć tego pliku w kroku 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 { 

} 

Krok 2: Utwórz inny plik scenariusza, jak pokazano poniżej. Powiedzmy to jako 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 { 

} 

Everytime jeśli wystąpi którykolwiek udało scenariusze uruchom plik w Krok 2

+0

Próbowałem dokładnie takie same kroki, jak wspomniano powyżej. Widziałem, że został wygenerowany plik rerun.txt, ale nadal nie udało się go wykonać. – SachinB

+0

Musisz użyć klasy 'FailedScenarios', aby wykonać testy. Innymi słowy, musisz kliknąć prawym przyciskiem myszy na "FailedScenarios" i kliknąć "Uruchom". – vkrams

+0

Mogłem to osiągnąć. Wysłałem tutaj swoją odpowiedź. https: // stackoverflow.com/questions/49132447/rerunning-the-failed-scenario-using-maven-cucumber-serenity/49168147 # 49168147 – SachinB

0

trzeba co najmniej w wersji 1.2.0 w celu wykorzystania @ TARGET/rerun.txt Nowa cecha. Potem wystarczy utworzyć biegacza, który działa na końcu i używa tego pliku. Ponadto, jeśli używasz Jenkinsa, możesz umieścić znacznik na losowych funkcjach niepowodzenia, więc kompilacja nie zawiedzie, chyba że zostanie dwukrotnie uruchomiona.

Powiązane problemy