In diesem Tutorial erfahren Sie, wie Sie Cucumber in Selenium Webdriver integrieren.
Was ist Gurke?
Gurke ist ein Testansatz, der Behavior Driven Development (BDD) unterstützt. Es erklärt das Verhalten der Anwendung in einem einfachen englischen Text in Gurkensprache.
Weitere Informationen finden Sie unter - https://www.guru99.com/cucumber-tutorials.html
Was ist Selen?
Selen ist ein Automatisierungstool für Funktionstests der webbasierten Anwendung. Selen unterstützt verschiedene Sprachen wie Java, Ruby, Python C # usw.
Weitere Informationen finden Sie unter - https://www.guru99.com/selenium-tutorial.html
In diesem Gurken-Tutorial lernen wir:
- Warum Gurke mit Selen verwenden?
- Voraussetzung für die Verwendung von Gurke mit Selen.
- Automatisierungstests mit Gurke mit Selen.
- Szenario 1: Drucken Sie Text in der Konsole.
- Szenario 2: Geben Sie die Anmeldeinformationen ein und setzen Sie den Wert zurück.
- Szenario 3: Geben Sie die Anmeldeinformationen für Guru99 ein und setzen Sie den Wert zurück. Tun Sie dies für 3 Datensätze.
Warum Gurke mit Selen verwenden?
Gurke und Selen sind zwei beliebte Technologien.
Die meisten Organisationen verwenden Selen für Funktionstests. Diese Organisationen, die Selen verwenden, möchten Selen in Cucumber integrieren, da Cucumber das Lesen und Verstehen des Anwendungsflusses erleichtert.
Das Gurken-Tool basiert auf dem Framework für verhaltensgesteuerte Entwicklung, das als Brücke zwischen den folgenden Personen fungiert:
- Software Engineer und Business Analyst.
- Manueller Tester und Automatisierungstester.
- Manueller Tester und Entwickler.
Das Cucumber BDD-Framework kommt dem Client auch zugute, wenn er den Anwendungscode versteht, da er die Gherkin-Sprache verwendet, die im Nur-Text-Format vorliegt . Jeder in der Organisation kann das Verhalten der Software verstehen. Die Syntax von Gherkin besteht aus einfachem Text, der lesbar und verständlich ist.
Voraussetzung für die Verwendung von Gurke mit Selen
Bevor wir mit der Integration von Cucumber Selenium beginnen, benötigen wir die folgenden Elemente:
- Seleniumglas-Dateien:
- Selen-Server-Standalone
Kann unter http://www.seleniumhq.org/download/ heruntergeladen werden.
Glasfeilen Für Gurke:
- Gurkenkern
- Gurken-HTML
- Cobertura-Code-Abdeckung
- Gurken-Java
- Gurken-Junit
- Gurke-jvm-deps
- Gurkenberichterstattung
- Hemcrest-Kern
- Gurke
- Junit
Kann unter https://mvnrepository.com/search?q=Cucumber heruntergeladen werden
Sie müssen Dateien suchen und einzeln herunterladen.
Zum Beispiel zeigen wir Ihnen, wie Sie eine der JAR-Dateien herunterladen, dh "Cucumber-Core".
Klicken Sie auf den obigen Download-Link. Es leitet zur folgenden Site weiter. Suchen Sie nun das jeweilige Glas, dh 'Gurkenkern', wie im folgenden Screenshot gezeigt:
Klicken Sie auf der nächsten Seite auf Version 1.2.2,
Klicken Sie im nächsten Bildschirm auf Download, um die JAR-Datei 'Cucumber Core' zu erhalten.
Hinweis : Zur Vereinfachung haben wir hier die JAR-Dateien gebündelt, die zum Herunterladen von Maven erforderlich sind. Mit der Zeit werden diese Gläser möglicherweise aktualisiert und sind nicht mehr kompatibel. Sie werden aufgefordert, sie mit der oben dargestellten Methode herunterzuladen.
Automatisierungstests mit Gurke mit Selen.
Lassen Sie uns Schritt für Schritt die Schritte zur Verwendung von Gurke mit Selen untersuchen. Hier werden 3 Szenarien behandelt:
- Szenario 1: Drucken Sie Text in der Konsole.
- Szenario 2: Geben Sie die Anmeldeinformationen ein und setzen Sie den Wert zurück.
- Szenario 3: Geben Sie die Anmeldeinformationen für Guru99 ein und setzen Sie den Wert zurück. Tun Sie dies für 3 Datensätze.
Szenario 1: Drucken Sie Text in der Konsole.
In diesem Szenario drucken wir den Text in der Konsole nur mit Cucumber.
Schritt 1) Erstellen Sie ein Projekt in Eclipse.
Erstellen Sie ein Java-Projekt mit dem Namen "CucumberWithSelenium", wie im folgenden Screenshot gezeigt.
Schritt 2) Hinzufügen von Jar-Dateien zum Projekt.
Klicken Sie mit der rechten Maustaste auf Projekt> Eigenschaften auswählen> Wechseln Sie zum Java-Erstellungspfad. Fügen Sie alle zuvor heruntergeladenen Bibliotheken hinzu.
Schritt 3) Erstellen einer Feature-Datei
Zum Erstellen einer Feature-Datei erstellen Sie zunächst einen Feature-Ordner wie im folgenden Screenshot gezeigt.
Geben Sie nun den Ordnernamen 'Features' ein und klicken Sie auf die Schaltfläche 'Fertig stellen'.
Erstellen Sie nun eine Feature-Datei im Ordner 'Features' mit dem Namen "MyTest.feature". Der Vorgang ähnelt dem Erstellen eines Ordners
Hinweis: Möglicherweise müssen Sie das Cucumber Eclipse-Plugin installieren, damit dies funktioniert. Springen Sie - Hilft-> Neue Software installieren-> Kopieren, fügen Sie den Link http://cucumber.github.io/cucumber-eclipse/update-site/ ein und installieren Sie ihn
Schritt 4) Schreiben Sie Szenarien.
Die folgenden Zeilen werden in der Datei 'MyTest.feature' in der unten gezeigten Sprache Gherkin geschrieben:
Feature: Setzen Sie die Funktionalität auf der Anmeldeseite der Anwendung zurück
Szenario: Überprüfung der Schaltfläche Zurücksetzen
Gegeben Öffnen Sie den Firefox und starten Sie die Anwendung
Wenn Geben Sie den Benutzernamen und das Passwort ein
Setzen Sie dann den Berechtigungsnachweis zurück
Code Erklärung
Zeile 1) In dieser Zeile schreiben wir Geschäftsfunktionen.
Zeile 2) In dieser Zeile schreiben wir ein zu testendes Szenario.
Zeile 3) In dieser Zeile definieren wir die Vorbedingung.
Zeile 4) In dieser Zeile definieren wir die Aktion, die wir ausführen müssen.
Zeile 4) In dieser Zeile definieren wir das erwartete Ergebnis oder Ergebnis.
Schritt 5) Schreiben eines Selen-Testrunner-Skripts für das Selenium Cucumber-Framework-Design
Hier erstellen wir das 'TestRunner'-Paket und dann die' Runner.java'-Klassendatei darunter.
Paket TestRunner;import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@ RunWith (Cucumber.class)@CucumberOptions (features = "Features", glue = {"StepDefinition"})öffentliche Klasse Runner{}}
Im obigen Cucumber Java-Beispielcode führen wir den Gurkentest mit den folgenden Anmerkungen aus:
Die Annotation @RunWith () gibt Auskunft über die Testläuferklasse, mit der die Ausführung unserer Tests beginnen soll.
Die Annotation @CucmberOptions () wird verwendet, um einige Eigenschaften für unseren Gurkentest festzulegen, z. B. Feature-Datei, Schrittdefinition usw.
Screenshot der TestRunner-Datei.
Schritt 6) Erstellen eines Schrittdefinitionsskripts.
Jetzt erstellen wir hier das 'StepDefinition'-Paket und dann die' Steps.java'-Skriptdatei darunter. Hier schreiben wir tatsächlich ein Selenskript, um den Test unter Gurkenmethoden durchzuführen.
Paket StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Schritte der öffentlichen Klasse {@Given ("Öffne den Firefox und starte die Anwendung $")public void open_the_Firefox_and_launch_the_application () wirft Throwable{System.out.println ("In diesem Schritt öffnen Sie den Firefox und starten Sie die Anwendung.");}}@When ("Geben Sie den Benutzernamen und das Passwort ein $")public void enter_the_Username_and_Password () löst Throwable aus{System.out.println ("Geben Sie in diesem Schritt den Benutzernamen und das Kennwort auf der Anmeldeseite ein.");}}@Then ("Den Berechtigungsnachweis zurücksetzen $")public void Reset_the_credential () wirft Throwable{System.out.println ("Klicken Sie in diesem Schritt auf die Schaltfläche Zurücksetzen.");}}}}
Im obigen Code wird die Klasse mit dem Namen 'Steps' erstellt. Die Gurkenanmerkung wird zum Zuordnen zur Feature-Datei verwendet. Jede Anmerkungsmethode ist definiert:
@Given Annotation Definieren Sie die Methode zum Öffnen von Firefox und zum Starten der Anwendung
@Wenn Annotation eine Methode zur Eingabe des Benutzernamens und des Passworts definiert
@Dann Annotation definieren Methode zum Zurücksetzen des Berechtigungsnachweises
Bei jeder Methode drucken wir nur eine Nachricht.
Unten sehen Sie den Screenshot des Skripts und des Projektbaums 'Steps.java', wie er aussieht.
Hinweis: Die Schrittdefinition ist nichts anderes als die Schritte, die Sie unter dieser Gurkenmethode ausführen möchten.
Schritt 7) Ausführen des Skripts.
Der Benutzer kann dieses Skript über das Testrunner-Skript ausführen, dh 'Runner.java', wie im folgenden Screenshot gezeigt.
Schritt 8) Analysieren Sie die Ausgabe.
Beim Ausführen des Skripts 'Runner.java' wird der Text auf der Konsole angezeigt. Es ist derselbe Text, der im Skript 'Steps.java' definiert ist.
Szenario 2: Geben Sie die Anmeldeinformationen ein und setzen Sie den Wert zurück.
Hier geben wir einfach Anmeldeinformationen auf der Guru99-Demo-Anmeldeseite ein und setzen den Wert zurück
Für Szenario 2 müssen wir nur das Skript 'Steps.java' aktualisieren. Hier schreiben wir tatsächlich das Selenskript wie in den folgenden Schritten gezeigt. Zuerst müssen wir diesem Projekt eine Selenium-JAR-Datei hinzufügen.
Schritt 1) Hier aktualisieren wir das Skript 'Steps.java' wie im folgenden Code und Screenshot gezeigt.
Paket StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Schritte der öffentlichen Klasse {WebDriver-Treiber;@Given ("Öffne den Firefox und starte die Anwendung $")public void open_the_Firefox_and_launch_the_application () wirft Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");Treiber = neuer FirefoxDriver ();driver.manage (). window (). maxim ();driver.get ("http://demo.guru99.com/v4");}}@When ("Geben Sie den Benutzernamen und das Passwort ein $")public void enter_the_Username_and_Password () löst Throwable aus{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("password")). sendKeys ("password12");}}@Then ("Den Berechtigungsnachweis zurücksetzen $")public void Reset_the_credential () wirft Throwable{driver.findElement (By.name ("btnReset")). click ();}}}}
Screenshot des obigen Selenskripts.
Schritt 2) Führen Sie das Skript aus.
Nach dem Update führen wir die Runner.java aus.
Schritt 3) Analysieren Sie die Ausgabe.
In der Ausgabe sehen Sie Folgendes:
- Browser gestartet.
- Die Guru99 Bank Demo Site wird geöffnet.
- Benutzername und Passwort werden auf der Anmeldeseite platziert.
- Setzen Sie die Werte zurück.
Szenario 3: Geben Sie die Anmeldeinformationen für Guru99 ein und setzen Sie den Wert zurück. Tun Sie dies für 3 Datensätze.
Hier müssen wir sowohl die 'Step.java' als auch die Feature-Datei aktualisieren.
Schritt 1) Aktualisieren Sie die Feature-Datei wie folgt:
Hier aktualisieren wir die Feature-Datei mit der Syntax 'Scenario Outline' und 'examples'.
Feature: Setzen Sie die Funktionalität auf der Anmeldeseite der Anwendung zurück
Szenarioübersicht: Überprüfung der Schaltfläche zum Zurücksetzen mit den Nummern der Anmeldeinformationen
Gegeben Öffnen Sie den Firefox und starten Sie die Anwendung
Wenn Geben Sie den Benutzernamen
und das Passwort ein Setzen Sie dann den Berechtigungsnachweis zurück
Beispiele:
| Benutzername | Passwort |
| Benutzer1 | Passwort1 |
| Benutzer2 | Passwort2 |
| User3 | password3 |
// In dieser Zeile definieren wir den Datensatz.
Schritt 2) Aktualisieren Sie nun das Step.java-Skript.
Hier aktualisieren wir die Methoden, um die Parameter zu übergeben. Das unten gezeigte aktualisierte Skript:
Paket StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Schritte der öffentlichen Klasse {WebDriver-Treiber;@Given ("Öffne den Firefox und starte die Anwendung $")public void open_the_Firefox_and_launch_the_application () wirft Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");Treiber = neuer FirefoxDriver ();driver.manage (). window (). maxim ();driver.get ("www.demo.guru99.com/v4");}}@When ("Geben Sie den Benutzernamen" (. *) "Und das Passwort" (. *) "$" Ein.)public void enter_the_Username_and_Password (String username, String password) löst Throwable aus{driver.findElement (By.name ("uid")). sendKeys (Benutzername);driver.findElement (By.name ("Passwort")). sendKeys (Passwort);}}@Then ("Den Berechtigungsnachweis zurücksetzen $")public void Reset_the_credential () wirft Throwable{driver.findElement (By.name ("btnReset")). click ();}}}}
Schritt 3) Führen Sie nun das aktualisierte Skript aus.
Der folgende Bildschirm zeigt die erfolgreiche Ausführung des Skripts und die Zeit, die für jeden Datensatz benötigt wird.
Schritt 4) Analysieren Sie die Ausgabe.
In der Ausgabe sehen Sie Folgendes:
Die folgende Ausgabe wird für die Anzahl der Datensätze, dh 3 Sätze, wiederholt.
- Browser gestartet.
- Die Guru99 Bank Demo Site wird geöffnet.
- Benutzername und Passwort werden auf der Anmeldeseite platziert.
- Setzen Sie die Werte zurück.
Fazit.
Gurke ist ein sehr beliebtes BDD-Tool. Es ist leicht zu lesen und kann von allen Beteiligten verstanden werden, einschließlich technischer und nichttechnischer Personen.
Gurke kann in den folgenden 3 Schritten in Selen integriert werden
- Erstellen Sie eine Feature-Datei, in der Sie das Feature und die Szenarien Schritt für Schritt in der Gherkin-Sprache definieren.
- Erstellen Sie eine Testrunner-Datei. In dieser Datei haben wir Cucumber in das BDD-Framework in Selen integriert. Wir führen dieses Skript aus.
- Erstellen Sie die Schrittdefinition, das eigentliche Selenskript, das unter diesem Paket definiert ist.