specflow reporting how generate test reports
Tutorial zum Generator von Specflow-Berichten: Möglichkeiten zum Generieren von Testberichten und Ausführen selektiver Tests in Specflow:
In diesem Specflow Training Tutorials für alle haben wir alles erkundet Lebendige Dokumentation mit Essiggurken erstellen in unserem vorherigen Tutorial.
In diesem Tutorial werden die verschiedenen Techniken zum Erstellen von Berichten für die im Specflow-Framework geschriebenen Tests erläutert.
Die Art des generierten Berichts hängt auch stark von der Art des verwendeten Testläufers ab. Es gibt sowohl kostenlose als auch kostenpflichtige Läufervarianten mit jeweils eigenen Vor- und Nachteilen.
Wir werden mehr über das Erstellen von Berichten mit einer Kombination aus NUnit als Testläufer und Specflow-Berichtsvorlagen diskutieren, um HTML-Berichte aus den von NUnit generierten Testausgabedateien zu generieren.
Was du lernen wirst:
Specflow-Berichterstellung
Schau das Video: Sehen Sie sich das Video-Tutorial zur Specflow-Berichterstellung an
Testberichte erstellen - Voraussetzungen
Stellen Sie vor dem Erstellen eines Testberichts sicher, dass alle Voraussetzungen verfügbar oder installiert sind.
Wir werden dasselbe Testbeispiel für die YouTube-Suche verwenden, bei dem die Specflow-Vorlage mit dem NUnit-Testläufer verwendet wird. Um Berichte erstellen zu können, benötigen Sie die NUnit-Konsole, um die Specflow-Tests auszuführen.
Installieren Sie die NUnit-Konsole, indem Sie die ausführbare Paketdatei für Windows herunterladen Hier . Laden Sie das MSI-Paket NUnit-Console -3.9.0 herunter und schließen Sie die schrittweise Installation von NUnit Console ab, indem Sie die heruntergeladene Paketdatei ausführen.
Nach erfolgreicher Installation sollte der Nunit-Ordner im ProgramFiles-Ordner angezeigt werden.
Siehe den Screenshot unten:
Die Generierung von Specflow-Berichten funktioniert ebenso mit anderen Frameworks wie MSUnit wie NUnit.
Schritt für Schritt Prozess
# 1) Führen Sie die Tests mit der NUnit Console aus, um einen XML-Bericht zu erstellen.
- Kompilieren Sie das SpecflowProject in Visual Studio und stellen Sie sicher, dass keine Projekt-DLL-Datei für Kompilierungsfehler erstellt wurde. Die erstellte DLL-Datei sollte im Ordner Debug / Release des Visual Studio-Projekts verfügbar sein.
- Öffnen Sie nun die Eingabeaufforderung und navigieren Sie zum Basisverzeichnis der NUnit Console.
- Führen Sie den folgenden Befehl aus, um die Specflow-Tests auszuführen.
Sehen wir uns zuerst die Syntax an:
Fragen zum Interview mit Automatisierungstests für erfahrene
nunit3-console.exe 'result={PathToReportLocation};format=nunit2' {SpecflowProjectDllPath}
Sobald der obige Befehl ausgeführt wurde, werden alle Ihre Szenarien in den Feature-Dateien angezeigt, damit sie ausgeführt werden können. Stellen Sie nach Abschluss des Tests sicher, dass die XML-Ergebnisdatei aus der NUnit-Ausführung an dem in der angegebenen Position generiert wird Ergebnis Parameter im obigen Befehl.
Beachten Sie auch hier, dass das Format des generierten Berichts, das wir haben, als 'NUnit2' ausgewählt ist, da die aktuelle Version von Specflow NUnit 3 nicht unterstützt. Sobald diese Unterstützung verfügbar ist, kann die Option für das Berichtsformat entfernt werden.
#zwei) Verwenden Sie jetzt die Anwendung specflow.exe, um den HTML-Bericht zu erstellen.
Die Anwendung specflow.exe führt den von NUnit generierten XML-Bericht aus und generiert gut aussehende HTML-Berichte. specflow.exe ist eine ausführbare Anwendung, die sich im npm-Paketordner des Projekts befindet, in dem specflow installiert wurde.
Im folgenden Screenshot finden Sie Informationen zur Suche nach der ausführbaren Specflow-Datei.
Der von dieser Anwendung generierte Bericht hat das HTML-Format und enthält eine Zusammenfassung der ausgeführten Szenarien, die nach Funktionen gruppiert sind.
Führen Sie die folgenden Schritte aus, um einen HTML-Bericht aus dem XML-Bericht zu generieren, der durch die Ausführung der NUnit-Konsole generiert wurde.
- Öffnen Sie die Eingabeaufforderung und navigieren Sie zur ausführbaren Specflow-Datei.
- Führen Sie nun den Befehl mit der folgenden Syntax aus, um den HTML-Bericht zu generieren.
specflow.exe nunitexecutionreport --ProjectFile {PathToProjectSln.csproj} --xmlTestResult {PathToNUnitReportXml} --OutputFile {DesiredPathToGenerateHtmlReport}
- Stellen Sie nach Abschluss der Ausführung des obigen Befehls sicher, dass der HTML-Bericht am angegebenen Ordner erstellt wird.
Öffnen Sie den generierten Bericht und sehen Sie sich die verschiedenen Abschnitte an. Die im Bericht dargestellten wichtigen Abschnitte sind nachstehend hervorgehoben.
Wie Sie sehen können, ist der obige Bericht viel einfacher zu lesen und zu interpretieren und für alle Projektbeteiligten nützlich, um einen Einblick in die Gesamtzusammenfassung der Testausführung zu erhalten.
Selektive Tests durchführen
Sehr oft müssen Sie einige selektive Tests oder eine Teilmenge der gesamten Testsuite oder Tests ausführen, die mit bestimmten Kategorien gekennzeichnet sind. All dies ist über Specflow-Tags möglich, die wir in unseren vorherigen Artikeln gesehen haben (die sowohl auf Feature-Ebene als auch auf Szenario-Ebene angewendet werden können).
Um nur eine Teilmenge von Tests auszuführen, können wir Specflow-Tags verwenden, um solche Szenarien zu markieren / zu kennzeichnen, und während wir den NUnit-Konsolenläufer durchlaufen, können die Kategorien als Teil des Befehls erwähnt werden.
Sehen wir uns den schrittweisen Prozess zur Durchführung der selektiven Testausführung an:
# 1) Öffnen Sie das Visual Studio-Projekt und markieren Sie ein Szenario / Feature, das wir selektiv ausführen möchten, mit einem Tag / einer Kategorie mit dem Namen 'selektiv'.
#zwei) Kompilieren Sie die Lösung für die Änderungen, und eine neue DLL mit aktualisierten Änderungen wird erstellt.
#3) Öffnen Sie nun die Eingabeaufforderung und führen Sie die oben genannten Schritte aus, um die Tests mit der NUnit-Konsolenanwendung auszuführen.
# 4) Die ausführbare Datei von NUnit überprüft den Testfilter und versucht, nach allen Tests zu suchen, die dem angegebenen Filter entsprechen. In unserem Fall wird versucht, alle Funktionen / Szenarien mit der Kategorie 'selektiv' abzugleichen und nur diese Tests auszuführen.
bestes Programm zum Öffnen von XML-Dateien
Da wir nur ein Szenario mit diesem Tag versehen haben, sollten wir erwarten, dass der NUnit-Testläufer nur einen Test ausführt.
nunit3-console.exe '--result={PathToReportFile};format=nunit2' --where 'cat == selective' {PathToSpecflowSeleniumProjectDll}
Wie Sie oben sehen können, haben wir Filter wie 'cat == selektiv' erwähnt. Die NUnit-Anwendung interpretiert es als Kategoriefilter mit dem Wert „selektiv“.
# 5) Sobald die obige Befehlsausführung abgeschlossen ist, sehen wir die Testzusammenfassung auf der Konsole (sowie den von NUnit generierten XML-Bericht).
# 6) Jetzt können wir daraus einen HTML-Bericht erstellen (indem Sie die Schritte zum Generieren von HTML über die ausführbare Specflow-Datei ausführen). So sieht der generierte HTML-Code aus.
Da NUnit nur einen Test ausgeführt hat, sollte der generierte HTML-Bericht nur eine Funktion und ein Szenario enthalten.
Mal sehen, wie der HTML-Bericht aussieht:
Fazit
In diesem Lernprogramm haben wir die verschiedenen Möglichkeiten zum Ausführen von Specflow-Funktionstests sowie das Generieren von HTML-Berichten über die ausführbare Specflow-Datei untersucht. Die generierten Berichte sind leicht zu lesen und zu interpretieren und für alle Beteiligten des Projekts nützlich.
Wir haben auch die Techniken zum Ausführen einer Teilmenge von Tests anstelle der gesamten Testsuite über Specflow-Tags gesehen, mit denen NUnit nach bestimmten Szenarien suchen / filtern und nur diejenigen ausführen kann, die den angegebenen Filterkriterien entsprechen.
Schauen Sie sich unser bevorstehendes Tutorial an, um die am häufigsten gestellten Interviewfragen zu Specflow zu erkunden!
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Generieren Sie eine lebende Dokumentation mit Pickles für Specflow-Feature-Dateien
- Verwalten von Anforderungen, Ausführen von Testfällen und Generieren von Berichten mit TestLink - Lernprogramm Nr. 2
- Handbuch zum Generieren von Extent-Berichten in Selenium WebDriver
- Erstellen Sie Appium-Tests für eine Android-App
- Schrittargumenttransformationen und Specflow-Tabellen
- Ausführen einer parallelen Ausführung von Appium-Tests in großem Maßstab
- Paralleles Ausführen Ihrer Appium-Tests mit Appium Studio für Eclipse
- Specflow Tutorial: Das ultimative Handbuch zum BDD Tool