So erstellen Sie Extent-Berichte in Selenium

Veröffentlicht: 2021-06-21

Die Open-Source-Bibliothek, die für die Testautomatisierung in Selen verwendet wird, ist ExtentReports. Testframeworks; NUnit, JUnit usw. können in die Bibliothek integriert werden. Eingebaute Berichte werden in Selen durch die Frameworks von TestNG und JUnit erstellt, aber Extent-Berichte sind immer noch die erste Wahl der Automatisierungstester von Selen. Die Extent Reports in Selenium geben mehr Einblick in die Ausführung der Automatisierungsskripte. Die Ergebnisse werden als Tortendiagramme dargestellt und sind im Wesentlichen HTML-Dokumente. Über die Bibliothek können Details wie Snapshots und benutzerdefinierte Protokolle generiert werden.

Nach erfolgreichem Durchlauf eines automatisierten Tests ist von den Testern ein Bericht über die Testdurchführung zu erstellen. Ein Standardbericht wird von TestNG bereitgestellt, aber die Details werden nicht bereitgestellt. Mit der Anwendbarkeit der ExtentReport-API könnten interaktive Berichte durch einfache Konfigurationen generiert werden. Frameworks von Java und .Net wie JUnit, NUnit und TestNG etc. werden von der Bibliothek unterstützt.

Abhängigkeit des Umfangsberichts maven

Quelle

Die Selenausmaßberichte bestehen aus zwei Klassen:

Inhaltsverzeichnis

1. ExtentReports-Klasse

Der Tester gibt einen Pfad an und basierend auf dem angegebenen Pfad werden HTML-Berichte aus der ExtentReports-Klasse generiert. Entweder wird ein neuer Report erstellt oder ein bestehender Report überschrieben. Es wird basierend auf dem booleschen Wert entschieden. Der boolesche Standardwert ist „wahr“, was bedeutet, dass alle in der Vergangenheit vorhandenen Daten überschrieben werden.

2. ExtentTest-Klasse

Testschritte werden über die ExtentTest-Klasse in den HTML-Berichten protokolliert, die durch die obige Methode generiert wurden.

3. Umfang HtmlReporter

Eine HTML-Datei wird von dieser Klasse erstellt.

Die aufgeführten integrierten Funktionen können mit den unten aufgeführten Klassen verwendet werden.

  • startTest: Die Vorbedingungen eines Falls im Test werden ausgeführt
  • endTest: Die Nachbedingungen eines Falls im Test werden ausgeführt.
  • Protokollmethode: Der Status jedes Schritts im Test wird über das Protokoll im generierten HTML-Bericht protokolliert.
  • Flush: Ein neuer Bericht wird erstellt, indem die Daten eines vorherigen Berichts entfernt werden.

Die folgenden Werte werden verwendet, um den Status eines Tests anzuzeigen: PASS, SKIP, FAIL und INFO.

So erstellen Sie Extent-Berichte

Einige Voraussetzungen zum Generieren eines Extent-Berichts sind:

  • Vorinstallation und Einrichtung von Java.
  • Die Installation von TestNG.
  • Herunterladen der Extent Report Jars (Version 2.41.2).
  • Anforderung von Extent-Config.xml, die die Konfiguration des HTML-Berichts ermöglicht.

Grundlegende Schritte, die für die Generierung von Extent-Berichten befolgt werden müssen, sind:

  • Ein Testprojekt soll erstellt werden.
  • Der Umfang der Report-JAR-Datei soll heruntergeladen werden.
  • Die JAR-Datei des Extent-Berichts wird dem Projekt hinzugefügt.
  • Eine implementierte Klasse wird erstellt.

Schritte zum Generieren eines Umfangsberichts

  • Die Extent-Berichte können im WebDriver von Selenium durch den Import einer JAR-Datei namens extendreports-java-2.41.2.jar generiert werden. Der Inhalt der JAR-Datei muss nach dem Herunterladen in ein Verzeichnis extrahiert werden.
  • Aus der heruntergeladenen ZIP-Datei extrahierte Jar-Dateien sollen dem Build-Projekt hinzugefügt werden. Es wird die Option Build Path -> Configure Build Path verwendet.
  • Für den durch den folgenden Code gemeldeten Extent wird eine Java-Klasse neu erstellt.

Quelle

Erläuterung des Codes

Mit der Methode startTest beginnt die Testausführung. Das Objekt der Bereichsberichte wird initialisiert. Das Extent-Berichtsobjekt verwendet einen beliebigen benutzerdefinierten Pfad als übergebenen Parameter.

@beforeclass: Die Verwendung der Extent-Berichte wird durch den Code demonstriert.

@test: Die folgenden Aktionen werden durch diese Klasse automatisiert:

  • Öffnen des Chrome-Browsers über die URL www.google.com .
  • Der Seitentitel muss nach dem Öffnen mit dem erwarteten Wert validiert werden.
  • Der Status des Prüfungsfalls ist als BESTANDEN oder NICHT BESTANDEN zu protokollieren, wobei die Protokollmethode für Umfangsberichte verwendet wird.

@afterclass: Code für die Ausführung eines Falls von Test-Nachbedingungen sind in dieser Klasse enthalten. Es enthält den Code für das Testende oder das Löschen des Berichts. Ohne die Verwendung der Methode flush() werden die Extent-Berichte in Selenium nicht generiert.

Erfassen Sie Screenshots in Extent Reports

1. Durch die Erfassungsmethode

  • Die Verwendung einer Screenshot-Erfassung während des Tests bietet mehrere Vorteile.
  • Wenn die Software anfängt, sich fehlerhaft zu verhalten, könnten die Tester das Problem anhand der Screenshots identifizieren.
  • Wenn bei der Testausführung Probleme auftreten, ermöglichen die Screenshots den Testern daher, das Testskript zu debuggen.
  • Screenshots sollten nur während des Fehlschlagens eines Tests aufgenommen werden, da durch die Aufnahmen mehr Speicher verbraucht wird.
  • Der folgende Code, der zum Aufnehmen eines Screenshots verwendet wird, stammt von

Quelle

2. Erläuterung des Codes

  • Der aktuelle Selenium WebDriver wird als Screenshot durch die Methode getScreenShotAs() erfasst. Es wird dann in verschiedenen Ausgabeformen gespeichert.

Datei scrFile = ((TakesScreenshot) Treiber).getScreenshotAs(OutputType.File);

  • Ein Objekt der Datei wird durch die Methode von getScreenShotAs zurückgegeben und in einer Variablen der Datei gespeichert. Um diese Methode zu verwenden, muss die Instanz des Webtreibers umgewandelt werden, um einen Screenshot zu erstellen.

File Dest = new File("scr/../Errimages/" + System.currentTimeMillis()+ ".png");

  • Durch den obigen Code wird im Ordner „src“ ein Ordner mit dem Namen „ErrImages“ erstellt. Die Datei wird im erstellten Ordner mit dem Namen der Datei als Uhrzeit des aktuellen Systems gespeichert.

String errflpath = Dest,getAbsolutePath();

Fileutils.copyFile(scrFile, Ziel);

returnerrflpath;

  • Generierte Fehlerbilder werden in einen Zielordner kopiert.

3. Protokollmethode

  • In der Protokollmethode wird eine integrierte Methode verwendet. Das addScreenCapture der Klasse Extent wird verwendet, um einen Screenshot zu erfassen und dann an die generierten Extent-Berichte anzuhängen.

test.log(LogStatus.Fail,test.addScreenCapture(capture(driver))+ „Test Failed“);

Vorteile von Umfangsberichten

  • Die Nutzung der Umfangsberichte ist einfach.
  • Tortendiagramme werden zur Darstellung der Ergebnisse verwendet.
  • Der Prozentsatz eines bestandenen Falls eines Tests wird bereitgestellt.
  • Die Fähigkeit, die Details der Umgebung auf natürliche Weise hinzuzufügen.
  • Im Vergleich zu den anderen Berichten bietet der Extent-Bericht die Bereitstellung von Anpassungsmöglichkeiten.
  • Interaktivere Berichte können über die Extent-API generiert werden. Die interaktiven Berichte können in Form einer grafischen Ansicht, einer Screenshot-Erfassung während jedes Testschritts, einer Dashboard-Ansicht und Berichten, die per E-Mail versendet werden können, vorliegen.
  • Eine Integration mit den Frameworks JUnit, TestNG und NUnit ist möglich.
  • Die parallele Ausführung von Testläufen ist durch die Generierung eines einzigen Berichts für alle parallelen Läufe möglich.
  • Der Bericht kann konfiguriert werden.
  • Für die Ausführung jedes Testfalls wird die benötigte Zeit angezeigt.
  • Eine einfache Nachverfolgung der Läufe mehrerer Testfälle in einer einzigen Suite ist möglich.
  • Anhand der Testberichte können die Ergebnisse herausgefiltert werden. Außerdem können schrittweise Ergebnisse durch die Optionen Pass/Fail/Info herausgefiltert werden.
  • Kategorisierungen von Berichten werden für Kategorien wie Regression/funktional usw. bereitgestellt.
  • Protokolle der Prüfschritte können den Berichten hinzugefügt werden.

Beispiel für Umfangsberichte in Selenium

Es wird ein Beispiel gezeigt, damit Sie den Prozess der Generierung des Extent Report Maven verstehen können.

Schritt 1 : Ein Maven-Projekt und eine Klasse müssen erstellt werden BasicExtentReport.java mit dem Hinzufügen eines hier verfügbaren Codes

  • Aus der Klasse „ExtentHtmlReporter“ wird eine eigenständige HTML-Datei generiert.
  • 'ExtentHtmlReporter(java.io.File)' wird von dieser Klasse akzeptiert und der Pfad 'ExtentHtmlReporter(java.lang.String filePath)'.
  • Der Dateipfad wird übergeben, um die Berichte zu speichern.
  • Die Methode config() der Klasse 'ExtentHtmlReporter' erlaubt verschiedene Konfigurationsmöglichkeiten. Elemente können über den Code geändert werden, um Änderungen am Aussehen des Umfangsberichts vorzunehmen, einschließlich Zeitstempel, Berichtsname usw.
  • Der Status für jeden Schritt des Tests wird von der „AfterMethod“ gemeldet, und dadurch wird der Status des Tests aktualisiert, z. B. Pass, Fail, Skip usw. Beim Auftreten eines Fehlers wird eine Nachricht generiert, um die Informationen bereitzustellen. Dies geschieht über 'result.getThrowable()'.
  • Bezeichnungen des Status werden mithilfe der MarkupHelper-Klasse erstellt, die auch den Berichtsstatus einfärbt.

Schritt 2: Das Übergeben des Betriebssystems und der Parameter des Browsers erfolgt durch Erstellen einer testng.xml-Datei. Der Code ist auf der genannten Website verfügbar.

Schritt 3: Der Datei pom.cml wird ein weiterer Code hinzugefügt.

Schritt 4: Das Ausführen des Programms generiert den resultierenden Bericht .

Quelle

Zur Anzeige der Fehlerberichte sind die nicht bestandenen Tests anzuklicken. Dadurch wird der Teststatus zusammen mit dem Grund für das Fehlschlagen des Tests angezeigt.

Ein paar zusätzliche Dinge im Zusammenhang mit Ausdehnungsberichten sind:

  • Aus optischen Gründen kann das in einem Bericht vorhandene Thema geändert werden.
  • Je nach Bequemlichkeit des Benutzers kann die Dashboard-Ansicht ausgeblendet oder angezeigt werden.
  • Bei der Ausführung mehrerer Tests kann ein Testfall schrittweise durchsucht werden.
  • Die Gesamtzeit, die zum Ausführen des Tests benötigt wird, einschließlich der Start- und Endzeit, wird dem Benutzer angezeigt.
  • In einem Bericht sind zusätzliche Filter vorhanden. Die Ergebnisse können nach dem Status der Tests gefiltert werden, z. B. bestandene Tests, nicht bestandene Tests oder Testfälle, in denen nur Informationen vorhanden sind.

Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Für die Generierung beliebig anpassbarer Berichte sind die Umfangsberichte der beste Weg. Als Open-Source-Bibliothek mit einfacher Konfiguration mit Selenium sind die Umfangsberichte definitiv die beste Wahl für alle Automatisierungstester. Der Artikel erörterte kurz die Extent-Berichte, wie man sie erstellt, und ihre Nützlichkeit. Die Vorteile können durch die Kenntnis der Softwareprogrammierung erzielt werden, die die Grundlage für die Generierung der Umfangsberichte bildet.

Wenn Sie bereit sind, die Vorteile der Softwareprogrammierung zu lernen und zu erkunden, prüfen Sie den von upGrad angebotenen Kurs des Executive PG Program in Software Development – ​​Specialization in Full Stack Development . Dies ist ein speziell konzipierter Kurs für Berufseinsteiger in der Altersgruppe von 21 bis 45 Jahren. Der Kurs bietet eine Plattform für Online-Vorlesungen und interaktive Sitzungen mit praktischen Erfahrungen und bietet Platzierungssicherheit in Top-Branchen. Für Rückfragen steht unser Team zur Verfügung.

Was ist ein Selenium Report Builder?

Selenium Report Builder oder Selenium IDE ist ein Firefox-Plugin für Selenium, das beim Erstellen und Bearbeiten der Selenium-Testfälle hilft. Es macht den Automatisierungsprozess effizienter und reduziert den Aufwand für die Erstellung verschiedener Berichte. Es ermöglicht eine komfortable Durchführung von Tests und gibt einen Überblick über den aktuellen Status. Berichte werden in verschiedenen Formaten wie Text, PDF, CSV, HTML usw. generiert.

Was kann mit Selenium automatisch getestet werden?

Selenium ist ein Tool zur Automatisierung von Webanwendungen zu Testzwecken und kann für Regressionstests verwendet werden. Selenium kann alles automatisieren, was ein Benutzer in einem Browser tun kann. Die meisten Websites verfügen über eine Art von Funktionalität, die es ihren Mitarbeitern erleichtert, Aufgaben wie das Bestellen von Inventar, das Bearbeiten von Bestellungen, das Aktualisieren der Website usw. zu erledigen. Selenium kann zum Testen webbasierter Anwendungen und Websites verwendet werden. Es ist eine Hochsprache, die verschiedene Programmiersprachen wie JAVA und C# unterstützt. Selenium wird zur Automatisierung von Browsern verwendet und bietet Entwicklern von Webanwendungen die Möglichkeit, automatisierte Tests zu schreiben, die für Webanwendungen ausgeführt werden.

Was ist Selenium Grid?

Selenium Grid ist ein Tool, mit dem automatisierte Tests über mehrere Browser (oder andere Grid-Knoten) hinweg ausgeführt werden können. Es ermöglicht die parallele Ausführung dieser Tests mit mehreren Konfigurationen (Standorte, Browser, Betriebssysteme) und mehreren Browsern gleichzeitig. Die Tests selbst können im Headless-Modus ausgeführt werden, sodass überhaupt keine GUI erforderlich ist. Das Grid bietet eine asynchrone Jobausführung und kann Hunderte von Jobs gleichzeitig verwalten. Selenium Grid ist somit ein Hub-and-Spoke-Modell zum Ausführen von Testfällen. Grid ermöglicht es Benutzern, mehrere Browser zu poolen, um einen einzigen Testfall auszuführen. Einmal eingerichtet, kann es verwendet werden, um bei Bedarf oder nach Zeitplan Tests auf mehreren Computern oder Browsern durchzuführen. Selenium Grid kann verwendet werden, um die Testausführung zu parallelisieren, Tests zu skalieren und die Testabdeckung zu erhöhen.