Selenium mit Cucumber (BDD-Framework-Tutorial)
In diesem Tutorial erfahren Sie, wie Sie Cucumber mit Selenium Webtreiber.
Was ist Cucumber?
Cucumber ist ein Testansatz, der Behavior Driven Development (BDD) unterstützt. Es erklärt das Verhalten der Anwendung in einem einfachen englischen Text in der Gherkin-Sprache.
Erfahren Sie mehr unter – https://www.guru99.com/cucumber-tutorials.html
Was ist Selenium?
Selenium ist ein Automatisierungstool für Funktionsprüfung der webbasierten Anwendung. Selenium unterstützt verschiedene Sprachen wie Java, Ruby, Python C# usw.
Erfahren Sie mehr unter – https://www.guru99.com/selenium-tutorial.html
Warum Cucumber mit Selenium?
Cucumber und Selenium sind zwei beliebte Technologien.
Die meisten Organisationen verwenden Selenium zur Funktionsprüfung. Diese Organisationen, die verwenden Selenium, wollen sich integrieren Selenium mit Cucumber as Cucumber macht Der Anwendungsablauf ist leicht zu lesen und zu verstehen.
Cucumber Das Tool basiert auf dem Behavior Driven Development-Framework, das fungiert als Brücke zwischen folgenden Personen:
- Software-Ingenieur und Business-Analyst.
- Manueller Tester und Automatisierungstester.
- Manueller Tester und Entwickler.
Cucumber Das BDD-Framework Es kommt dem Kunden zugute, den Anwendungscode zu verstehen da es die Gherkin-Sprache verwendet, die im Klartext 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 Nutzung Cucumber mit Selenium
Bevor wir anfangen Cucumber Selenium Für die Integration benötigen wir folgende Elemente:
- Selenium JAR-Dateien:
- Selenium-server-standalone
Kann heruntergeladen werden unter http://www.seleniumhq.org/download/
Jar-Dateien für Cucumber :
- Cucumber-Core
- Cucumber-html
- Cobertura-Codeabdeckung
- Cucumber-Java
- Cucumber-junit
- Cucumber-jvm-deps
- Cucumber-Berichterstattung
- Hamcrest-Kern
- Gurke
- Juni
Kann heruntergeladen werden unter https://mvnrepository.com/search?q=Cucumber
Sie müssen Dateien suchen und sie einzeln einzeln herunterladen.
Als Beispiel zeigen wir Ihnen, wie Sie eine der JAR-Dateien herunterladen, nämlich „Cucumber-Kern."
Klicken Sie auf den obigen Download-Link. Er leitet Sie auf die folgende Seite weiter. Suchen Sie nun nach dem jeweiligen Jar, d. h. 'Cucumber Core‘, wie im Screenshot unten gezeigt:
Klicken Sie auf der nächsten Seite auf die Version 1.2.2.
Klicken Sie im nächsten Bildschirm auf Download, um die 'Cucumber Core‘-JAR-Datei.
Note: Zur Vereinfachung haben wir die JAR-Dateien gebündelt, die zum Herunterladen von Maven erforderlich sind HIER. Mit der Zeit werden diese Gläser möglicherweise aktualisiert und inkompatibel. Sie werden gebeten, sie mit der oben dargestellten Methode herunterzuladen.
Automatisiertes Testen mit Cucumber mit Selenium.
Lassen Sie uns die Schritte zur Verwendung studieren Cucumber mit Selenium Schritt für Schritt. Hier werden wir 3 Szenarien behandeln:
- Szenario 1: Text in der Konsole drucken.
- Szenario 2: Geben Sie die Anmeldedaten ein und setzen Sie den Wert zurück.
- Szenario 3: Geben Sie die Anmeldedaten für Guru99 ein und setzen Sie den Wert zurück. Tun Sie dies für 3 Datensätze.
Szenario 1: Text in der Konsole drucken.
In diesem Szenario drucken wir einfach den Text in der Konsole aus, indem wir Cucumber.
Schritt 1) Projekt in Eclipse erstellen.
Kreation Java Projekt mit dem Namen „CucumberBeiSelenium“, wie im folgenden Screenshot gezeigt.
Schritt 2) Hinzufügen von Jar-Dateien zum Projekt.
Klicken Sie mit der rechten Maustaste auf das Projekt > Wählen Sie Eigenschaften > Gehe zu Java Build-Pfad. Fügen Sie alle zuvor heruntergeladenen Bibliotheken hinzu.
Schritt 3) Feature-Datei erstellen
Um eine Feature-Datei zu erstellen, erstellen Sie zunächst den Ordner „Features“, 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 die Cucumber Eclipse Plugin, damit dies funktioniert. Gehe zu – Hilfe->Neue Software installieren->Kopieren und den Link einfügen http://cucumber.github.io/cucumber-eclipse/update-site/ und installieren
Schritt 4) Schreiben Sie Szenarien.
Die folgenden Zeilen werden in der Datei „MyTest.feature“ in der Gherkin-Sprache geschrieben, wie unten gezeigt:
Feature: Reset functionality on login page of Application Scenario: Verification of Reset button Given Open the Firefox and launch the application When Enter the Username and Password Then Reset the credential
Code Erklärung
Zeile 1) In dieser Zeile schreiben wir Geschäftsfunktionalität.
Zeile 2) In dieser Zeile schreiben wir ein Szenario zum Testen.
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 bzw. Ergebnis.
Schritt 5) Schreiben eines Selenium-Testrunner-Skripts für Selenium Cucumber Rahmendesign
Hier erstellen wir das Paket „TestRunner“ und dann die Klassendatei „Runner.java“ darunter.
package TestRunner; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith(Cucumber.class) @CucumberOptions(features="Features",glue={"StepDefinition"}) public class Runner { }
In obigem Cucumber Java Beispielcode führen wir den Gurkentest durch die Verwendung der folgenden Anmerkungen:
@RunWith() Die Annotation informiert über die Test-Runner-Klasse, um mit der Ausführung unserer Tests zu beginnen.
@CucmberOptions() Annotation wird verwendet, um einige Eigenschaften für unseren Gurkentest festzulegen, wie Feature-Datei, Schrittdefinition usw.
Screenshot der TestRunner-Datei.
Schritt 6) Schrittdefinitionsskript erstellen.
Jetzt erstellen wir hier das Paket „StepDefinition“ und darunter die Skriptdatei „Steps.java“. Hier schreiben wir tatsächlich ein Selenium-Skript, um den Test unter Cucumber Methoden.
package StepDefinition; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Steps { @Given("^Open the Firefox and launch the application$") public void open_the_Firefox_and_launch_the_application() throws Throwable { System.out.println("This Step open the Firefox and launch the application."); } @When("^Enter the Username and Password$") public void enter_the_Username_and_Password() throws Throwable { System.out.println("This step enter the Username and Password on the login page."); } @Then("^Reset the credential$") public void Reset_the_credential() throws Throwable { System.out.println("This step click on the Reset button."); } }
Im obigen Code wird die Klasse mit dem Namen „Steps“ erstellt. Cucumber Annotation wird zum Zuordnen mit Feature-Datei verwendet. Jede Annotationsmethode ist definiert:
@Gegeben Annotation: Definieren Sie die Methode zum Öffnen von Firefox und Starten der Anwendung
@Wann Annotation definiert die Methode zur Eingabe des Benutzernamens und Passworts
@Dann Annotation definiert Methode zum Zurücksetzen der Anmeldeinformationen
Bei jeder Methode drucken wir nur eine Nachricht.
Unten sehen Sie den Screenshot des „Steps.java“-Skripts und des Projektbaums, wie er aussieht.
Hinweis: Bei der Schrittdefinition handelt es sich um nichts anderes als die Schritte, die Sie mit dieser Gurkenmethode ausführen möchten.
Schritt 7) Ausführen des Skripts.
Der Benutzer kann dieses Skript über das Test-Runner-Skript ausführen, z. B. „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 handelt sich um denselben Text, der im Skript „Steps.java“ definiert ist.
Szenario 2: Geben Sie die Anmeldedaten ein und setzen Sie den Wert zurück.
Hier geben wir einfach Credential 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 das Selenium-Skript tatsächlich wie in den folgenden Schritten gezeigt. Zuerst müssen wir hinzufügen Selenium jar-Datei zu diesem Projekt hinzufügen.
Schritt 1) Hier aktualisieren wir das Skript „Steps.java“, wie im folgenden Code und Screenshot gezeigt.
package 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; public class Steps { WebDriver driver; @Given("^Open the Firefox and launch the application$") public void open_the_Firefox_and_launch_the_application() throws Throwable { System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe"); driver= new FirefoxDriver(); driver.manage().window().maximize(); driver.get("http://demo.guru99.com/v4"); } @When("^Enter the Username and Password$") public void enter_the_Username_and_Password() throws Throwable { driver.findElement(By.name("uid")).sendKeys("username12"); driver.findElement(By.name("password")).sendKeys("password12"); } @Then("^Reset the credential$") public void Reset_the_credential() throws Throwable { driver.findElement(By.name("btnReset")).click(); } }
Screenshot des obigen Selenium-Skripts.
Schritt 2) Führen Sie das Skript aus.
Nach dem Update führen wir Runner.java aus.
Schritt 3) Analysieren Sie die Ausgabe.
In der Ausgabe können Sie Folgendes sehen:
- Browser gestartet.
- Die Demoseite der Guru99-Bank wird eröffnet.
- Benutzername und Passwort werden auf der Anmeldeseite hinterlegt.
- Setzen Sie die Werte zurück.
Szenario 3: Geben Sie die Anmeldedaten 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 unten gezeigt:
Here we update the feature file with 'Scenario Outline' and 'examples' syntax. Feature: Reset functionality on login page of Application Scenario Outline: Verification of reset button with numbers of credential Given Open the Firefox and launch the application When Enter the Username <username>and Password <password> Then Reset the credential Examples: |username |password | |User1 |password1 | |User2 |password2 | |User3 |password3 | // In this line we define the set of data.
Schritt 2) Aktualisieren Sie nun das Step.java-Skript.
Hier aktualisieren wir die Methoden zur Übergabe der Parameter. Das aktualisierte Skript wird unten gezeigt:
package 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; public class Steps { WebDriver driver; @Given("^Open the Firefox and launch the application$") public void open_the_Firefox_and_launch_the_application() throws Throwable { System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe"); driver= new FirefoxDriver(); driver.manage().window().maximize(); driver.get("www.demo.guru99.com/v4"); } @When("^Enter the Username \"(.*)\" and Password \"(.*)\"$") public void enter_the_Username_and_Password(String username,String password) throws Throwable { driver.findElement(By.name("uid")).sendKeys(username); driver.findElement(By.name("password")).sendKeys(password); } @Then("^Reset the credential$") public void Reset_the_credential() throws 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 können Sie Folgendes sehen:
Die folgende Ausgabe wird für die Anzahl der Datensätze wiederholt, also 3 Sätze.
- Browser gestartet.
- Die Demoseite der Guru99-Bank wird eröffnet.
- Benutzername und Passwort werden auf der Anmeldeseite hinterlegt.
- Setzen Sie die Werte zurück.
Fazit
Cucumber ist ein sehr beliebtes BDD-Tool. Es ist leicht zu lesen und kann von allen Beteiligten, sowohl technischen als auch nicht-technischen Personen, verstanden werden.
Cucumber kann integriert werden mit Selenium mit den folgenden 3 Schritten
- Erstellen Sie eine Feature-Datei, in der Sie die Features und Szenarien Schritt für Schritt mithilfe der Gherkin-Sprache definieren.
- Erstellen Sie eine Testrunner-Datei. In diese Datei haben wir integriert Cucumber mit BDD-Framework in Selenium. Wir führen dieses Skript aus.
- Erstellen Sie die Schrittdefinition, das eigentliche Selenium-Skript, das unter diesem Paket definiert ist.