Ich versuche, TestNG-Fehler basierend auf dem Typ der Ausnahme/Fehler zu kategorisieren, der den Fehler verursacht. Gibt es einen Weg, dies zu tun? Ich bin relativ neu zu TestNG, so würde jede möglich mögliche Hilfe schätzenWie kategorisieren Sie TestNG-Fehler basierend auf der Art des Fehlers?
0
A
Antwort
2
Ja können Sie dies tun, indem Sie den folgenden allgemeinen Ansatz folgen.
- Erstellen Sie eine benutzerdefinierte Reporter-Implementierung, die die TestNG Schnittstelle
org.testng.IReporter
- Innerhalb dieser Schnittstelle implementatation implementiert, wobei Sie den Zugriff auf
ITestResult
Objekt, das die Ergebnisse einer Testmethode darstellt und dann prüfen, seine Ausnahme überorg.testng.ITestResult#getThrowable
und dann bekommen sind Ihre Logik, um Fehler zu klassifizieren.
Hier ist ein Entwurf Implementierung
public class SampleReporter implements IReporter {
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
for (ISuite suite : suites) {
Map<String, ISuiteResult> suiteResults = suite.getResults();
for (ISuiteResult sr : suiteResults.values()) {
ITestContext tc = sr.getTestContext();
Set<ITestResult> failedResults = tc.getFailedTests().getAllResults();
for (ITestResult failedResult : failedResults) {
Throwable throwable = failedResult.getThrowable();
if (throwable instanceof WebDriverException) {
//classify this as a selenium exception
}
}
}
}
}
}
Sie jetzt Draht in diesem Hörer auf eine der folgenden Optionen entscheiden können
- Mit der
@Listeners
Anmerkung auf Ihrer Testklasse. - Mit dem
<listeners>
-Tag in Ihrer Suite XML-Datei - Mit dem ServiceLoader Ansatz
Sie auf this Blog-Post von mir beziehen können mehr über TestNG Zuhörer im Allgemeinen und alle oben genannten Möglichkeiten der Zuhörer lernen Injektion.
Verwandte Themen
- 1. Wie kategorisieren Sie basierend auf Textinhalt?
- 2. Art des Fehlers bei der Expression Auswertung von Prozess
- 3. kategorisieren basierend auf Datumsbereichen in R
- 4. Wie kategorisieren Sie über Maßeinheiten?
- 5. Variablen kategorisieren basierend auf Bedingungen aus anderen Datensätzen
- 6. Wählen Sie die Zeile aus einem Datenrahmen basierend auf der Art des Objekts (dh str)
- 7. Wählen Sie Implementierung basierend auf der Art des Objekts in Java
- 8. Python-Django Antwort der Text des Fehlers
- 9. Excel kategorisieren Liste Übertragung
- 10. Wie kategorisieren Sie tief verschachtelte Objekte?
- 11. Behebung des Fehlers "Ruby-Installation fehlt psych"?
- 12. Ursache des Fehlers "Fehler beim Registrieren der systemeigenen Methode"?
- 13. Wie Debuggen des Fehlers "unerwartete Zeichen CS1056"?
- 14. Anwendungen kategorisieren
- 15. PHP Art basierend auf offline oder online
- 16. Schnelle Fehlerbehandlung und Metadaten des Fehlers
- 17. Berechnen Sie die Versandkosten basierend auf der Gesamtsumme des Warenkorbes?
- 18. Kombinieren Sie XML-Dateien basierend auf der Ähnlichkeit des Eintrags
- 19. Lodash Art Sammlung basierend auf externen Array
- 20. vim Art basierend auf bestimmte Spalte
- 21. Wie umgestalten Sie basierend auf der Zeit?
- 22. Effiziente Art, Code basierend auf der Zeit auszuführen
- 23. Javascript sortieren Baumebenen Attribut basierend auf Art
- 24. awk: Art-Datei basierend auf Benutzereingaben
- 25. Kategorisieren Sie jede Folie nach Thema
- 26. Art Pandas Datenrahmen basierend auf Liste
- 27. Gleitkommaarithmetik: Summierung versus Multiplikation des Fehlers
- 28. Festlegen des Zeitlimits basierend auf der Abfrage
- 29. rspec meldet keine Zeilennummer des Fehlers
- 30. Benutzerdefinierte ErrorTemplate Off-Screen-Anzeige des Fehlers