Używam Ogórek do moich testów. Jak mogę ponownie uruchomić tylko nieudane testy?Jak ponownie uruchomić nieudane scenariusze przy użyciu ogórka?
Odpowiedz
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
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
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
Musisz użyć klasy 'FailedScenarios', aby wykonać testy. Innymi słowy, musisz kliknąć prawym przyciskiem myszy na "FailedScenarios" i kliknąć "Uruchom". – vkrams
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
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.
czy istnieje i tak, że wszystko jest w jednym wierszu cmd? –
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
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 –