Ausführen fehlgeschlagener Testfälle in TestNG: Selenium WebDriver

Inhaltsverzeichnis:

Anonim

In diesem Tutorial lernen Sie:

  • Erstellen Sie ein Selenium-Projekt
  • Konvertieren Sie das Selenium-Projekt und führen Sie es in TestNG aus
  • Führen Sie TestNG über die Befehlszeile aus
  • So führen Sie nur fehlgeschlagene Testfälle aus
  • Ausführen der Datei testng-failed.xml über die Befehlszeile

Erstellen Sie ein Selenium-Projekt

Bereiten Sie das Projekt vor

Schritt 1) Erstellen Sie in Eclipse ein Java-Projekt, indem Sie auf neues Java-Projekt klicken

Schritt 2) In diesem Schritt

  1. Geben Sie den Projektnamen an
  2. Wählen Sie die Ausführungsumgebung
  3. Wählen Sie die Option Projektlayout
  4. Klicken Sie auf "Fertig stellen".

Wenn Sie auf die Schaltfläche Fertig stellen klicken. Das Java-Projekt "TestProject" wird erstellt. Das "TestProject" sieht so aus.

Schritt 3) Öffnen Sie das neu erstellte Projekt. Sie können den Ordner "src" im Paket-Explorer sehen.

  1. Klicken Sie mit der rechten Maustaste auf Projekt und wählen Sie "Neu".
  2. Optionspaket auswählen

Schritt 4) In diesem Schritt

  1. Durchsuchen Sie den Ordner src und wählen Sie das Paket aus
  2. Geben Sie den Paketnamen und an
  3. Klicken Sie abschließend auf die Schaltfläche Fertig stellen. (Paketname-> com.test)

Nach dem Klicken auf "Fertig stellen" sieht die Projektstruktur folgendermaßen aus:

Schritt 5) In diesem Schritt

  1. Klicken Sie nun mit der rechten Maustaste auf das neu erstellte Paket und
  2. Wählen Sie die Option "Klasse".

Ein neues Fenster wird geöffnet.

Schritt 6) In diesem Schritt

  1. Geben Sie den Namen "Klasse" an
  2. Wählen Sie Modifikatoren
  3. Durchsuchen und wählen Sie die Superklasse java.lang.object aus
  4. Klicken Sie auf die Schaltfläche Fertig stellen.

Hier erstellen Sie zwei Klassen , z . B. DemoA, DemoB .

Erstellen Sie zuerst eine KlassendemoA.

Wenn Sie auf die Schaltfläche "Fertig stellen" klicken. Dann wird eine Klasse wie diese erstellt:

In ähnlicher Weise erstellen Sie die Klasse DemoB. Wenn Sie auf "Fertig stellen" klicken, sieht die Button-Klasse wie folgt aus:

Schritt 7) Wenn Sie die TestNG-Bibliothek installiert haben, klicken Sie einfach auf Java Project ---> Properties.

Schritt 8) Nun im Eigenschaftenfenster

  1. Klicken Sie auf Java Build Path
  2. Klicken Sie auf Bibliotheken
  3. Klicken Sie auf Bibliothek hinzufügen.

Nächster

  1. Klicken Sie auf "TestNg" und dann
  2. Klicken Sie auf "Weiter".

Klicken Sie dann auf "Fertig stellen".

Danach schreiben Sie den folgenden Code.

Für Class DemoA

Code Erläuterung:

  • Driver.manage (). Window (). Maximiere ();

Diese Zeile maximiert das Browserfenster.

  • driver.get (https://www.google.co.in);

In dieser Zeile wird die angegebene URL in das URL-Feld eingegeben.

  • driver.findElement (By.name ("q")). sendKeys ("Hi");

In dieser Zeile wird das Suchfeld "Google" identifiziert und die Daten eingegeben, die Sie mit der sendKeys-Methode gesendet haben.

Ausgabe: Das obige Programm enthält die Fehler, so dass eine Ausführung nicht möglich ist.

Ähnliches gilt für Class DemoB,

Die rot unterstrichenen Wörter sind hier die Fehler. Weil Sie die JAR-Datei, die diese Klassen und Schnittstellen enthält, noch nicht hinzugefügt haben. Um die im obigen Code enthaltenen Fehler zu entfernen, fügen Sie die entsprechende JAR-Datei hinzu. Klicken Sie mit der rechten Maustaste auf das Java-Projekt und wählen Sie "Eigenschaften".

Schritt 8) Im Eigenschaftenfenster

  1. Klicken Sie im linken Navigationsbereich auf Java Build-Pfad.
  2. Klicken Sie auf die Registerkarte Bibliotheken.
  3. Klicken Sie auf Externe JARs hinzufügen und wählen Sie die eigenständige JAR-Datei Selenium aus
  4. Klicken Sie auf "OK".

Nach diesem Schritt werden alle Fehler automatisch entfernt. Wenn nicht, fahren Sie mit der Maus über den Code, der Fehler anzeigt, und importieren Sie alle erforderlichen Klassen und Schnittstellen.

Wenn bei @test immer noch Fehler angezeigt werden, platzieren Sie die Maus dort. Es werden die möglichen Optionen angezeigt. Klicken Sie dann auf die Option TestNG-Bibliothek hinzufügen. Ähnliches gilt auch für andere 'Klassen'.

Nachdem Sie Ihren Code in beide Klassen geschrieben haben, z. B. DemoA, fahren Sie mit DemoB fort.

Schritt 9) In diesem Schritt

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und
  2. Wählen Sie den Optionsordner, um einen Ordner mit dem Namen 'lib' zu erstellen, und fügen Sie die TestNG-JAR-Datei und die Selenium-JAR-Datei ein (Selenium-Server-Standalone ).

    (Testng- und Selenium-Server-Standalone-JAR-Dateien müssen aus dem Internet heruntergeladen und in Ihrem System gespeichert werden. Sie müssen manuell in diesen Ordner gehen und diese beiden Jars kopieren. Klicken Sie mit der rechten Maustaste auf den in Eclipse vorhandenen Ordner 'lib' und klicken Sie auf Einfügen)

Schritt 10) In diesem Schritt

1. Wählen Sie den übergeordneten Ordner aus

2. Geben Sie den Ordnernamen als 'lib' an und (Der Hauptzweck des Hinzufügens dieser beiden JAR-Dateien zum lib-Ordner besteht darin, dass Sie dem Compiler während der Ausführung an der Eingabeaufforderung mitteilen können, welche JAR-Dateien für die Ausführung des Programms erforderlich sind sind an diesem Speicherort vorhanden. Wenn Sie testng.xml von Eclipse ausführen möchten, ist dieser lib-Ordner überhaupt nicht erforderlich.

3. Klicken Sie auf die Schaltfläche "Fertig stellen"

Testng- und Selenium-Server-Standalone-JAR-Dateien müssen aus dem Internet heruntergeladen und in Ihrem System gespeichert werden. Sie müssen manuell in diesen Ordner gehen und diese beiden Gläser kopieren und mit der rechten Maustaste auf den in 'Eclipse vorhandenen' lib'-Ordner klicken und auf Einfügen klicken

Nach dem Erstellen eines Ordners werden im nächsten Schritt unsere Programme DemoA und DemoB in die Datei Testng.xml konvertiert.

Konvertieren Sie das Selenium-Projekt und führen Sie es in TestNG aus

Schritt 1) In diesem Schritt

  1. Wählen Sie zwei unter dem Paket vorhandene Java-Dateien aus und klicken Sie mit der rechten Maustaste.
  2. Wählen Sie die Option "testNG".
  3. Klicken Sie auf In "testNG" konvertieren.

Schritt 2) Ein neues Fenster wird geöffnet. Geben Sie in dieses Fenster Details wie ein

  1. Ort
  2. Name der Suite
  3. Testname
  4. Klassenauswahl
  5. Parallelmodus
  6. Klicken Sie auf "Fertig stellen"

Dann die Datei testng.xml, die unter dem Java-Projekt erstellt wurde, und sie sieht folgendermaßen aus.

(Wenn Sie diese Datei testng.xml ausführen möchten, klicken Sie mit der rechten Maustaste auf die Datei testng.xml im linken Navigationsbereich des Paket-Explorers und klicken Sie auf Als TestNG Suite ausführen.)

Schritt 3) Die Suite-Datei testng.xml sieht folgendermaßen aus:

Wenn Sie zuerst die DemoA-Klasse ausführen möchten, entfernen Sie diese vollständige Zeile und fügen Sie sie vor der DemoB-Klasse wie folgt hinzu:

Schritt 4) Nach dem Ausführen der Datei testng.xml wird das Ergebnis folgendermaßen angezeigt. (Da Sie mit System.out.println () keine ausführbaren Anweisungen geschrieben haben, wird im Konsolenfenster nichts gedruckt.)

Dies ist eine der Möglichkeiten, wie Sie den Test über die Eclipse ausführen können. Wenn Sie dieselbe Suite der Datei testng.xml ausführen möchten, die zwei Klassendateien wie DemoA und DemoB enthält, müssen Sie an der Eingabeaufforderung die folgenden Schritte ausführen.

Öffnen Sie nun die Eingabeaufforderung und wechseln Sie zum Projektarbeitsbereich.

Führen Sie TestNG über die Befehlszeile aus

Sie müssen den Speicherort des Projektbereichs ermitteln

Schritt 1) Klicken Sie zuerst mit der rechten Maustaste auf das Java-Projekt und wählen Sie die Option Eigenschaften. Wählen Sie im Eigenschaftenfenster die Option Ressource aus.

Schritt 2) Wenn Sie nun auf den Link "Ressource" klicken, wird dieser im linken Navigationsbereich angezeigt. Es wird angezeigt, wo genau das Projekt gespeichert ist

Der Projektarbeitsbereich lautet C: \ Benutzer \ Benutzer \ Desktop \ Guru99 \ TestProject . Sie wechseln also das Verzeichnis zu diesem bestimmten Speicherort.

Schritt 3) Geben Sie dann den folgenden Befehl ein. (Dieser Befehl ist ein allgemeiner Befehl.)

java -cp "Pfad des im Arbeitsbereich vorhandenen lib-Ordners \ *; Pfad des im Projektarbeitsbereich vorhandenen bin-Ordners; Pfad der im lib-Ordner des Projektarbeitsbereichs vorhandenen Datei testng.jar" org.testng.TestNG testng.xml

Für unser Projekt müssen Sie jedoch den folgenden Befehl schreiben.

Java -cp "C: \ Benutzer \ Benutzer \ Desktop \ Guru99 \ TestProject \ lib \ *;C: \ Benutzer \ Benutzer \ Desktop \ Guru99 \ TestProject \ bin "org.testng.TestNG testng.xml

Schritt 4) Drücken Sie dann die Eingabetaste. Sowohl die Klassen DemoA als auch DemoB starten ihre Ausführung. Schließlich wird das Ergebnis an der Eingabeaufforderung angezeigt.

So führen Sie nur fehlgeschlagene Testfälle aus

Wenn Sie nur fehlgeschlagene Testfälle über Eclipse ausführen möchten, aktualisieren Sie zuerst das Projekt.

Schritt 1) Klicken Sie mit der rechten Maustaste auf das Java-Projekt (Demo A und B). Wählen Sie die Aktualisierungsoption oder wählen Sie einfach das Java-Projekt aus und drücken Sie F5.

Schritt 2) Dann können Sie den Testausgabeordner sehen. In diesem Ordner befindet sich eine Datei mit dem Namen testng-failed.xml.

Schritt 3) Klicken Sie mit der rechten Maustaste auf diese Datei und klicken Sie auf Ausführen als und wählen Sie die Option "testNG suite".

Angenommen, Sie haben drei Testfälle, wenn alle Testfälle erfolgreich ausgeführt wurden. Dies bedeutet, dass Sie diesen Ordner nicht unter dem Testausgabeordner sehen können. Dieser Ordner wird nur angezeigt, wenn einer der Testfälle fehlgeschlagen ist. Führen Sie dann diese Datei aus. Es werden nur fehlgeschlagene Testfälle ausgeführt.

Ausführen der Datei testng-failed.xml über die Befehlszeile

Schritt 1) Ausführen fehlgeschlagener Testfälle an der Eingabeaufforderung. Öffnen Sie die Eingabeaufforderung und wechseln Sie zum Projektarbeitsbereich.

Mein Projektarbeitsbereich ist C: \ Benutzer \ Benutzer \ Desktop \ Guru99 \ TestProject . Sie wechseln also das Verzeichnis zu diesem bestimmten Speicherort.

Schritt 2) Geben Sie den folgenden Befehl ein. (Dieser Befehl ist ein allgemeiner Befehl.)

java -cp "Pfad des im Arbeitsbereich vorhandenen lib-Ordners \ *; Pfad des im Projektarbeitsbereich vorhandenen bin-Ordners; Pfad der Datei test.jar im lib-Ordner des Projektarbeitsbereichs vorhanden" org.testng.TestNG test-output / testng-failed. xml

Für unser Projekt müssen Sie den folgenden Befehl schreiben.

Java -cp "C: \ Benutzer \ Benutzer \ Desktop \ Guru99 \ TestProject \ lib \ *;C: \ Benutzer \ Benutzer \ Desktop \ Guru99 \ TestProject \ bin "org.testng.TestNG test-output / testng-failed.xml

Schritt 3) Drücken Sie dann die Eingabetaste. Es werden nur fehlgeschlagene Klassen ausgeführt und die Anzeige entspricht nur dieser Klasse.

In der obigen Klasse, dh DemoB, ändern Sie einfach den Code wie folgt.

driver.findElement (By.name ("a")). sendKeys ("Bye"); 

Der obige Code findet kein Element. Es wird also die Ausnahme auslösen. In unserem Programm wird die Ausnahme jedoch nicht behandelt, sodass unser Programm die Ausführung des verbleibenden Codes beendet. Aus diesem Grund wird die Klasse B ausfallen.

Zusammenfassung :

  • TestNG ist ein Automation Testing Framework, das vom Junit inspiriert ist und verschiedene Anmerkungen enthält.
  • TestNG generiert die Berichte in seinem Standardbericht, der Folgendes enthält:
    • Wie viele Testfälle gibt es?
    • Wie viele Testfälle werden bestanden?
    • Wie viele Testfälle sind fehlgeschlagen?
    • Wie viele Testfälle werden übersprungen?
  • Mehrere Testfälle können einfach gruppiert und ausgeführt werden, indem Testklassen in Testsuite-Dateien konvertiert werden.
  • TestNG kann problemlos in andere Tools von Drittanbietern integriert werden. Es bietet verschiedene Funktionen wie die Zuweisung der Priorität zu den Testfällen und die mehrfache Ausführung desselben Testfalls mithilfe der Aufrufanzahl.
  • Wenn einer der Testfälle beim Ausführen mehrerer Testfälle fehlschlägt, können Sie diesen bestimmten Testfall separat ausführen.
  • Die statische Methode "log" der Reporter-Klasse kann zum Speichern von Protokollinformationen verwendet werden, die in org.testng vorhanden sind

Dieser Artikel wurde von Sandeep Batageri verfasst