Umgang mit Behauptungen in TestNG
Wie kann ich weiterhin die test-Durchführung in TestNG, wenn eine assertion fehlschlägt? Wie kann ich das melden der Fehler in der HTML-Bericht von TestNG?
Wenn ich den folgenden code ausführen, der Zeilen nach der Behauptung ausgeführt werden, aber in den berichten die assertion-Fehler ist nicht aufgeführt:
@Test
public void googleSearch(){
driver.get("http://www.google.co.in/");
System.out.println(" ---------- Start -------------");
try {
Assert.assertTrue(driver.findElement(By.xpath("xyz")).isDisplayed(), "unable to find the link");
} catch (Throwable t) {
System.out.println("Error");
}
System.out.println(" ---------- End -------------");
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie diesen code im catch-block: -
Nehmen wir beispielsweise folgenden code : -
Wenn Sie fangen die AssertionError, TestNG kann es nicht sehen.
Vereinbart, weiterhin die Prüfung nach einem Misserfolg ist nicht das beste. Verwendung nach*Methoden() für Sachen.
Speziell für die Protokollierung von test (Konfiguration) start-und Ende-allerdings tun Sie es nicht in der test-Klasse überhaupt - listener, und tun das logging aus dem Hörer.
Könnte man erweitern TestListenerAdapter und implementieren Sie alle Methoden, die es vorgibt:
http://testng.org/javadoc/org/testng/TestListenerAdapter.html
Eher als Fang-assertion-Fehler, die in den test-design möglichst versuchen zu vermeiden, die Notwendigkeit der Fortsetzung der tests, nachdem Sie ausfallen.
In deinem Beispiel:
Schlage ich weiche Behauptungen, die in TestNG nativ
Da haben Sie den Fehler erwischt, wird dies nicht scheitern. Ich neu die situation wie folgt. Dies nicht scheitern. Aber ein Throwable geworfen wird.
Error
gedruckt.Folgenden wird das Ergebnis der Ausführung eines Tests.
Und wenn Sie wollen auch weiterhin test-Durchführung, obwohl einige tests sind fehlgeschlagen , Sie können schreiben Sie einfach Methoden mit
@Test
annotation wie die anotherTest () - Methode, die ich erstellt habe. Aber Sie können keine Garantie für die Reihenfolge der test-Durchführung.Hier oben anotherTest() ausgeführt wurde, zunächst.