TestNG-Berichterstellung in Selenium WebDriver

Anonim

Die Berichterstellung ist sowohl beim Automatisierungstest als auch beim manuellen Testen sehr wichtig.

  • Anhand des Ergebnisses können Sie leicht erkennen, wie viele Testfälle bestanden, fehlgeschlagen und übersprungen wurden.
  • Wenn Sie sich den Bericht ansehen, erfahren Sie, wie der Status des Projekts ist.

Der Selenium-Webtreiber wird zur Automatisierung der Webanwendung verwendet, generiert jedoch keine Berichte.

  • Das TestNG generiert den Standardbericht.
  • Wenn Sie die Datei testng.xml ausführen und das Projekt aktualisieren. Sie erhalten einen Testausgabeordner in diesem Ordner.
  • Klicken Sie mit der rechten Maustaste auf die Datei emailable-report.html und wählen Sie die Option aus. Öffnen Sie mit dem Webbrowser.

In diesem Tutorial lernen Sie:

  • Methode 1: emailable-report.html
  • Methode 2: index.html
  • Methode 3: Reporterklasse

Methode 1: emailable-report.html

  1. Klicken Sie auf die Option "emailable-report.html".
  2. Klicken Sie auf Option Webbrowser

Der Ausgabebericht von testng sieht wie folgt aus, wenn beide Klassen bestanden werden:

Stellen Sie sich das Szenario vor, in dem Sie den Testfall, dh die DemoB-Klasse, absichtlich nicht bestehen. Konvertieren Sie dann beide Klassen in die Suite-Datei testng.xml und führen Sie sie aus. Dann sieht das Ergebnis so aus. Es werden die fehlgeschlagenen Testfälle angezeigt.

Dies ist das Ergebnis für die DemoB-Klasse:

In ähnlicher Weise sieht das Ergebnis für die KlassendemoA folgendermaßen aus:

Methode-2 index.html

  1. Klicken Sie mit der rechten Maustaste auf die index.html aus dem Projektverzeichnis.
  2. Wählen Sie die Option Mit Webbrowser öffnen. Das Ergebnis wird in der folgenden Reihenfolge angezeigt.

Das Ergebnis sieht folgendermaßen aus:

Methode-3-Reporterklasse

Zusammen mit diesen vom Bericht generierten Methoden können Sie die Datei object.properties verwenden, um die vom System generierten Protokolle sowie die vom Benutzer generierten Protokolle zu speichern. Eine der einfachsten Möglichkeiten zum Speichern von Protokollinformationen beim Testen ist die Verwendung der Reporterklasse .

Reporter ist eine Klasse, die in TestNG vorhanden ist. Es bietet 4 verschiedene Methoden zum Speichern von Protokollinformationen:

  1. Reporter.log (String s);
  2. Reporter.log (String s, Boolean logToStandardOut);
  3. Reporter.log (String s, int level);
  4. Reporter.log (String s, int level, Boolean logToStandardOut);

Beispiel :

Erstellen Sie zwei Klassen wie DemoA und DemoB und schreiben Sie den folgenden Code in die Klassen.

Für Class DemoA;

  • Der Code für DemoA wurde bereits oben erläutert. Hier verwenden Sie die Protokollmethode der Reporter-Klasse. (Zum Implementieren einer Berichtsklasse muss die Klasse eine org.testng.IReporter-Schnittstelle implementieren.)
  • Die Protokollmethode ist eine statische Methode der Reporter-Klasse. Sie greifen also über die Reporter-Klasse auf diese Methode zu.
  • Die Protokollmethode wird zum Speichern von Protokollinformationen verwendet, die in das Programm geschrieben werden. Wenn Sie sich die Protokollinformationen ansehen, können Sie leicht erkennen, wo genau die Ausführung des Programms gestoppt ist.

Für Class DemoB:

  • Erstellen Sie nun die Datei testng.xml, indem Sie diese beiden Klassen und auswählen
  • Wählen Sie Ausführen als und
  • Klicken Sie auf die Konvertierung in testng.
  • Führen Sie dann diese Datei testng.xml aus, indem Sie Ausführen als und testng suite auswählen.
  • Aktualisieren Sie dann das Projekt und öffnen Sie den Testausgabeordner.
  1. Öffnen Sie im Ordner test-output die Datei emailable-report.html. Es wird so aussehen:

In ähnlicher Weise haben Sie auch ein Output for Demo B-Projekt.

2. Öffnen Sie im Testausgabeordner die Datei index.html. Es wird so aussehen:

Klicken Sie auf Reporterausgabe. Es werden Protokollierungsinformationen geöffnet, unabhängig davon, was in den Testmethoden geschrieben steht.

Klicken Sie auf die Zeiten. Es wird gezeigt, wie lange es gedauert hat, die in der Klasse vorhandene Testmethode auszuführen.