laufen Ich habe zwei @after-Tags, @ close-Browser und @ screenshot.So, gerade jetzt, wenn ich beide Tags für Feature verwenden Datei es führt zunächst @ close-browser aus und es schlägt bei der Ausführung nach Methode für @ screenshot fehl. Gibt es einen Weg, dass ich Gurke sagen kann, @screenshot nach Methode zuerst zu laufen?Gurke-JUnit, gibt es eine Möglichkeit, die Reihenfolge zu steuern, in der @before und @after Tags
Antwort
Der Screenshot sollte in einer der annotierten Methoden @After
aufgenommen werden. Wie folgt aus:
@After
public void finish(Scenario scenario) {
try {
byte[] screenshot =
helper.getWebDriver().getScreenshotAs(OutputType.BYTES);
scenario.embed(screenshot, "image/png");
} catch (WebDriverException somePlatformsDontSupportScreenshots) {
System.err.println(somePlatformsDontSupportScreenshots.getMessage());
}
finally {
helper.getWebDriver().close();
}
}
Es gibt ein ‚Ordnung‘ Argument, das Sie @Before
und @After
passieren können, um die Reihenfolge der Ausführung zu steuern:
@Before(order = 5)
public void foo() {}
@After(order = 500)
public void bar() {}
Vor Haken sind in aufsteigender Reihenfolge (niedrigste Auftragsnummer zuerst ausgeführt), während After-Hooks in absteigender Reihenfolge ausgeführt werden (höchste Bestellnummer zuerst).
Ich überprüfe, ob isscanrio fehlgeschlagen ist, und wenn es fehlschlägt, führe ich Code aus? Wenn ich zwei Feature-Dateien ausführe, ist das letzte Szenario fehlgeschlagen, und der erste Schritt der nächsten Funktion wird ebenfalls fehlschlagen, weil Gurken vorheriges Szenario fehlgeschlagen ist. Weißt du, wie man mit dieser Art von Situation umgeht? Ihre Hilfe wird sehr geschätzt. – Samantha
@tosha: Bitte starten Sie eine neue Stack Overflow Frage –
Ich habe überprüft, bitte – Samantha
- 1. Gibt es eine Möglichkeit, die Reihenfolge der Tests in Codeception zu steuern?
- 2. Gibt es eine Möglichkeit, die Reihenfolge der Eigenschaften in JSON-Objekten zu steuern?
- 3. Gibt es eine Möglichkeit, Ansichten in NavigationView Header zu steuern?
- 4. Gurken-Berichterstattung ausblenden Before und After Hooks
- 5. Gibt es eine Möglichkeit, den HTML5-Bereich zu steuern?
- 6. Before und After hooks für ein spec Verzeichnis in RSpec
- 7. Nav List Items und :: Before :: After
- 8. Gibt es eine Möglichkeit, die Fortschrittsanzeige in der Chrome App zu steuern?
- 9. Welche Elemente unterstützen die Pseudoelemente :: before und :: after?
- 10. Gibt es eine Möglichkeit, die Reihenfolge der Titel in der Wiedergabeliste zu ändern?
- 11. Ist es möglich, die "berechneten" Stile für :: after und :: before pseudo-Elemente zu überprüfen?
- 12. Gibt es eine Möglichkeit, die Auffüllung zwischen Strukturelementen (inkl. Bitfeld) in C++ zu steuern?
- 13. Hinzufügen von Zeilenumbrüchen zu :: after oder :: before Pseudoelement Inhalt
- 14. Reihenfolge der Serialisierung in C steuern #
- 15. Gibt es eine Möglichkeit, IE7 in die Verwendung der Pseudo-Elemente zu überlisten: nach und vor?
- 16. Emacs: Gibt es eine Möglichkeit, eine Liste von benutzerdefinierten Tags zu erhalten - und durch sie navigieren?
- 17. Gibt es eine Möglichkeit, die Sortierung von Elementen zu steuern, wenn Sie jquery verwenden ui
- 18. Gibt es eine Möglichkeit, die Z-Reihenfolge festzulegen, wenn Sie MigLayout und die absolute Positionierung verwenden?
- 19. Ist es sicher, update :: before und :: after clearfix zu einem einfachen :: nach einem?
- 20. Gibt es eine Möglichkeit, die Reihenfolge von Elementen in einem Wörterbuch zu verfolgen?
- 21. Gibt es eine Möglichkeit, Git-Tags mit JavaScript
- 22. So steuern Sie die Reihenfolge von CompositeCommand
- 23. Gibt es eine Möglichkeit, die Standardstartposition des Emulators zu ändern?
- 24. Gibt es eine Möglichkeit, den Fluss von Versprechen in linearer Abrufreihenfolge zu steuern?
- 25. Gibt es eine Möglichkeit, Dateien zu tauschen und die Historie in einem Schritt zu bewahren?
- 26. Gibt es eine Möglichkeit, die Reihenfolge der Konstruktoren zu ändern, die in IntelliSense in Visual Studio aufgeführt sind?
- 27. Gibt es eine Möglichkeit, die Parserzeit in PHP zu messen?
- 28. Gibt es eine Möglichkeit, javascript/jquery zu verwenden, um eine Gruppe von Li-Tags zu durchsuchen und die Suche einzuschränken
- 29. Gibt es eine Möglichkeit, WLAN-Scan-Intervalle in Android explizit zu steuern?
- 30. gibt es eine Möglichkeit, die Formulardaten in PHP zu löschen?
Das Problem mit diesem Ansatz ist manchmal Ich möchte den Browser nicht schließen, Wenn das Szenario fehlschlägt, ist der Grund dafür, dass ich für einige meiner Funktionen den gleichen Browser für alle Szenarien verwende. Wenn ich diese after-Methode verwende, wird der Browser geschlossen und das nächste Szenario wird die Browser-Sitzung nicht finden und wird fehlschlagen. – Samantha
Ich weiß nicht, ob es korrekt ist, die gleiche Browsersitzung für alle Szenarien in einigen Feature-Dateien zu verwenden. – Samantha
@tosha es ist strongly beratend von den Cucumber Best Practices, dass alle Szenarien vollständig voneinander isoliert sind. Wenn du das sagst, kannst du die selbe Sitzung immer noch verwenden, solange du die Cookies in einer deiner annotierten Methoden '@ After' löschst –