So verwenden Sie Assert in Selenium

So verwenden Sie Assert in Selenium

Möglicherweise haben Sie viele Tests mit verschiedenen Testfunktionen durchgeführt und halten während dieser Hinrichtungen möglicherweise nie ein Test „bestanden“ oder „fehlgeschlagen“. Es ist an der Zeit, einige tatsächliche Tests mit Selenium WebDriver in TestNG durchzuführen, da wir mit allen wichtigen Prinzipien in TestNG vertraut sind. Wir werden die Testng -Behauptungen für dieses Ziel nutzen. Dieser Artikel führt die Implementierung von Assert -Methoden durch und beschreibt Code Soft und Hard Assertion -Vorteile. In diesem Tutorial führen wir zwei Fälle aus: Einfache Behauptungen und harte und weiche Assert. Dieser Inhalt beschreibt die Verwendung der weichen Behauptung im Vergleich zu harten Behauptungen. Vor dem Schreiben des Skripts neigen wir dazu, Java JDK und Eclipse zu installieren, Selenium -Jars -Bibliotheken hinzuzufügen und die Abhängigkeiten zusammen mit Browser -Treibern zu konfigurieren.

Anforderungen:

Vor dem Schreiben von Code sollten Sie eine Entwicklungsumgebung zum Ausführen und Ausführen des Codes erstellen. Installieren und konfigurieren Sie zunächst das JDK -Kit und die Eclipse. Danach müssen Sie die Testng -JAR -Datei in Ihre Eclipse -Installation herunterladen und aufnehmen, um die Behauptung im Web -Treiber zu verwenden. Sie können Testng -JAR -Dateien aus dem angegebenen Link abrufen: https: // mvnrepository.com/artifact/org.testng/testng. Fügen Sie dann die JAR -Dateien mit dem folgenden Prozess in die Eclipse -Bibliothek hinzu: Gehen Sie zum Projekt => Option und konfigurieren. Fügen Sie nun die Abhängigkeiten in die Eclipse> pom hinzu.XML -Datei.




io.Github.Bonigarcia
WebdriverManager
5.3.1
prüfen



Org.Apache.Maven
Maven-Artifakt
4.0.0-alpha-2


Testng Assertion mit einem Beispiel:

In diesem Tutorial werden wir zwei Fälle abdecken:

    1. Einfache Behauptung
    2. Harte und weiche Behauptung

Fall 1:

Wir durchlaufen grundlegende Überprüfungsmethoden zur Überprüfung.

Schritt 1: Erstellen Sie eine Leerklasse

Um die Behauptung anzuwenden, müssen wir eine separate Klasse „öffentlicher Leerraum“ erstellen und Innere dieser Klasse im Gegensatz zu anderen Selenium -Eigenschaften von Automatisierungstests unter Verwendung der Hauptklasse der Hauptklasse durchführen.

public void titletest ()

Schritt 2: Richten Sie den Webdriver ein

In diesem Schritt werden wir den Browser -Treiber über das folgende Skript einrichten, das der Chrome -Browser für dieses Tutorial verwendet hat. Der folgende Skriptcode verwendet:

WebdriverManager.chromedriver ().aufstellen();
Chromedriver -Treiber = neuer Chromedriver ();

Schritt 3: Öffnen Sie den Browser

In diesem Schritt öffnet der Chrome -Browser die angegebene URL der Website. Verwenden Sie wie in diesem Beispiel https: // www.Ebay.com/ Seite.

Verwenden Sie die folgende Skriptmethode:

Treiber.Get ("https: // www.Ebay.com/");


In der folgenden Abbildung ist zu sehen.

Schritt 4: Suche nach dem Titel von der Website

In diesem Schritt öffnet der Chrome -Browser die angegebene URL der Website. Verwenden Sie wie in diesem Beispiel https: // www.Ebay.com/ Seite.


Überprüfen Sie die Webseite und finden Sie den Titel der Website. Wie in der Abbildung unten gezeigt.

Elektronik, Autos, Mode, Sammlerstücke und mehr | Ebay



Hier ist die Syntax:

String variable = "Titel"


Der Titel ist eine Zeichenfolge, die die variable Zeichenfolge erstellt hat.

Schritt 5: Setzen Sie den erwarteten Titel

In diesem Schritt wird der kopierte Titel von der Webseite verwendet, um eine Zeichenfolge für den erwarteten Titel zu erstellen.

Wie im folgenden Code gezeigt, hat String die Variable "erwartete Titel" erstellt.

String erwartete Title = "Elektronik, Autos, Mode, Sammlerstücke & More | eBay";

Schritt 6: Holen Sie sich den tatsächlichen Titel

In diesem Schritt erhalten wir den tatsächlichen Titel, indem wir Gettitle () -Methode verwenden.

Nach der Codezeichenfolge haben wir die Variable „tatsächliche Title“ erstellt, mit der die methode zur Verfügung gestellten Text gespeichert wird.

String tatsalTitle = Treiber.Gettitle ();

Schritt 7: Überprüfen Sie den Titel, den wir erhalten

In diesem Schritt entsprechen wir den tatsächlichen Titel mit dem erwarteten Titel.

Die Syntax ist unten angegeben:

Behaupten.Methode (tatsächlich, erwartet)


Es gibt viele Methoden von Vermögenswerten wie AssertEqual, Assertunequal usw.

Wie Sie sehen können, hat der Parameter zwei Werte:

    • Tatsächlich: Der Wert, den der Tester erhält. Zum Beispiel muss hier der eigentliche Titel der Seite bereitgestellt werden, wenn die Behauptung des Tester diesem entspricht.
    • Erwartet: Wenn sich der Anspruch des Tester beispielsweise auf den Titel der Seite bezieht, sollte der Wert des Titels, von dem Sie erwarten, dass.

Der folgende Code, der die Methode AssertEqual () verwendet, um den Titel beider zu entsprechen, ist der gleiche oder nicht.

Behaupten.assertequals (tatsalTitle, erwartete Titel);

Schritt #8: Übereinstimmung der Titel True Case

Wenn der tatsächliche Titel der Site und die erwartete Titelübereinstimmung dann der Zustand wahr ist.

Betrachten Sie den unten angegebenen Beispielcode:

String erwartete Title = "Elektronik, Autos, Mode, Sammlerstücke & More | eBay";
String tatsalTitle = Treiber.Gettitle ();
Behaupten.assertequals (tatsalTitle, erwartete Titel);


Die erste Zeile des Codes ist der erwartete Titel. Danach bekommen wir einen tatsächlichen Titel. Anschließend wird die Assert () -Methode verwendet, um den tatsächlichen und erwarteten Titel zu entsprechen.

Ausgabe in der Konsole

Nachdem der obige Code ausgeführt wurde, zeigt die Ausgabe in der Konsole, dass der Code erfolgreich ausgeführt wurde und der Test bestanden wurde.

Schritt Nr. 9: Match -Titel fehlgeschlagener Fall

Wenn der tatsächliche Titel der Website und die erwartete Titelübereinstimmung fehlschlägt, schlägt die Bedingung fehl.

Ausgabe in der Konsole:

Nachdem der obige Code ausgeführt wurde, zeigt die Ausgabe in der Konsole, dass der Code erfolglos ausgeführt wurde und der Test fehlgeschlagen wurde.

Fall 2:

In diesem Fall gehen wir weiche Behauptungen und harte Behauptungen durch.

Harte Behauptung und weiche Behauptung:

In vielen Fällen gibt es Anforderungen an die Behauptung. Möglicherweise haben Sie mehrere Behauptungen im Einzel -Testfall. In Ihren bestimmten Testfällen gibt es fünf sechs verschiedene Überprüfpunkte. Als ob Sie in einer bestimmten Behauptung ein Scheitern bekommen, was wird mit anderen Behauptungen geschehen, die dieser bestimmten Behauptung voraus sind?

Beispielszenario:

Sie überprüfen den Titel und das Titelspiel ist fehlgeschlagen. Danach überprüfen Sie den bestimmten Text und einige Webelemente auf derselben Seite.

Hard Assertion Tester Fall

In der harten Behauptung bleibt das Skript dort stoppt, wenn eine einzelne Behauptung fehlschlägt.

Beispielszenario:

Wenn der Titel nicht übereinstimmt und wenn Sie Assert verwenden.Arrertequals () -Methode, dann stoppt der Testfall bei diesem bestimmten Fehler. Sie können nicht weiter gehen und die Überprüfung anderer Vermögenswerte, die im selben Testfall verfügbar sind. Harte Vermögenswerte sind eine Herausforderung, weil sie aufhören, wenn ein einzelner Fehler auftritt.

Hier ist der Beispielcode, den Sie ausführen und das Ergebnis sehen können.

String erwartete Title = "Elektronik, Autos, Mode, Sammlerstücke & More | eBay";
String tatsalTitle = Treiber.Gettitle ();
Behaupten.assertequals (tatsalTitle, erwartete Titel);


Nach dem Ausführen des oben genannten Code zeigt die Ausgabe in Eclipse, dass der Code erfolglos ausgeführt wurde. Und der Test wurde fehlgeschlagen = titletest. Wir können beobachten, dass die rechte Seite in roter Farbe die Warnungen angibt und die Ausführung von Code dort stoppen.

Fall

Im Falle einer sanften Behauptung wird das Skript des Assert -Überprüfers fortgesetzt, auch wenn der Fehler aufgetreten ist und der Fehler erfasst wird. Und das Skript wird fortgesetzt.

Schritt 1: Holen Sie sich den Wert der Suchschaltfläche

Lassen Sie uns in diesem Schritt die https: // www inspizieren.Ebay.COM/ Site und erhalten Sie den Namen des Suchschaltungsattributs.


Die Syntax ist unten angegeben:

String -Variable = "Eingabenname"


Hier ist ein Beispielcode:

String erwartete text = "such";

Schritt 2: Tatsächliche Text erhalten

In diesem Schritt erhalten wir den XPath des tatsächlichen Textes der Suchschaltfläche, indem wir den Schritten folgen:

RightClick> Inspect> GOTO-Code> Rechtsclick-Code> Option Kopieren> Kopieren Sie XPath = ["//*[@id =" gh-btn "]"] Es wird XPath für Sie kopieren.

Attributwert abrufen, Attribute der Webseite sind (Wert, Typ, Klasse) und wir wählen das Wertungsattribut für dieses Beispiel aus .GetAttribute -Methode () wird verwendet, um das Attribut zu erhalten.

Die Syntax wird hier angegeben:

.GetAttribute (Name)


Der Beispielcode wird hier erwähnt:

String tatsalText = Treiber.FindElement (von.XPath ("//*[@id =" gh-btn "]"))).getAttribute ("Wert");
.getAttribute ("Wert"); => GET VALE UND STADEN SIE IN DER SPRECHTETELD ”

Schritt 3: Überprüfen Sie den Text

Überprüfen Sie die Verwendung von Assert.assertequals () Methode.

öffentliche Klasse VerifySoftTest
@Prüfen
public void SearchBtnttest () löscht die InterruptedException aus

String erwartete Title = "Elektronik, Autos, Mode, Sammlerstücke & More | eBay";
String erwartete text = "such";
WebdriverManager.chromedriver ().aufstellen();
Chromedriver -Treiber = neuer Chromedriver ();
Treiber.Get ("https: // www.Ebay.com/");
String tatsalTitle = Treiber.Gettitle ();
String tatsalText = Treiber.FindElement (von.XPath ("//*[@id =" gh-btn "]"))).getAttribute ("Wert");
System.aus.println ("Titel überprüfen");
Softassert.Assertequals (tatsächliche Titel, erwartete Titel, "Titelüberprüfung fehlgeschlagen");
System.aus.println ("Text überprüfen");
Softassert.assertequals (tatsächlicher text, erwartungsgemäß, "Textüberprüfung fehlgeschlagen");
System.aus.println ("Close Browser");
Treiber.schließen();

Schritt 4: Führen Sie den Code aus

Hier führen wir den in Schritt 3 erwähnten Code aus und sehen die Ausgabe an.

Ausgabe in Sonnenfinsternis:

Nachdem der Code oben ausgeführt wurde, wird die Ausgabe in Eclipse angezeigt. Dieser Code wurde erfolgreich ausgeführt und der Test wurde bestanden = SearchBtntest. Die grüne Farbe zeigt den Testkofferpass.

Abschluss

Es ist schwierig, einen Testng -Code ohne Behauptungen zu finden, da sie die am häufigsten verwendeten Methoden in TestNG sind. Dieser Artikel zeigt die Verwendung der Assert -Methode unter Verwendung des Selenium -Frameworks zum Testng. Der Tester stellt fest, ob der Test erfolgreich war oder nicht, ebenso wie alle Ausnahmen über ein automatisches Steuerungswerkzeug. In diesem Tutorial schreiben wir Code, um den Browser -Treiber festzulegen, den Browser -Treiber zu starten und einfache Behauptungen und weiche und harte Behauptungen auszuführen. In diesem Inhalt haben Sie gelernt, wie weicher Behauptung wichtiger ist als die harte Behauptung.