Gurke - Anmerkungen
Annotationist ein vordefinierter Text, der eine bestimmte Bedeutung hat. Es informiert den Compiler / Interpreter darüber, was bei der Ausführung zu tun ist. Gurke hat die folgenden Anmerkungen -
Given - -
Es beschreibt die Voraussetzung für die Ausführung des Tests.
Beispiel - GEGEBEN Ich bin ein Facebook-Nutzer
When - -
Es definiert den Triggerpunkt für jede Ausführung eines Testszenarios.
Beispiel - WENN ich "<Benutzername>" eingebe
Then - -
Dann enthält das erwartete Ergebnis für den auszuführenden Test.
Beispiel - DANN sollte die Anmeldung erfolgreich sein.
And - -
Es stellt die logische UND-Bedingung zwischen zwei beliebigen Anweisungen bereit. AND kann in Verbindung mit der Anweisung GIVEN, WHEN und THEN verwendet werden.
Beispiel - WENN ich meinen "<Benutzernamen>" UND mein "<Kennwort>" eingebe
But - -
Es bedeutet eine logische ODER-Bedingung zwischen zwei beliebigen Anweisungen. OR kann in Verbindung mit der Anweisung GIVEN, WHEN und THEN verwendet werden.
Beispiel - DANN sollte die Anmeldung erfolgreich sein. ABER die Homepage sollte nicht fehlen.
Scenario - -
Details zum zu testenden Szenario müssen nach dem Schlüsselwort "Szenario:" erfasst werden.
Beispiel -
Szenario:
GEGEBEN Ich bin ein Facebook-Nutzer
WENN ich meine betrete
UND ich betrete meine
DANN sollte die Anmeldung erfolgreich sein.
ABER die Homepage sollte nicht fehlen.
Scenario Outline - (Wird später behandelt)
Examples - (Wird später behandelt)
Background - -
Im Hintergrund finden Sie im Allgemeinen Anweisungen zum Einrichten, bevor jedes Szenario ausgeführt wird. Es wird jedoch nach dem "Vorher" -Hook ausgeführt (wird später behandelt). Dies ist also ideal für Code, wenn wir den Webbrowser einrichten oder die Datenbankkonnektivität herstellen möchten.
Beispiel -
Hintergrund:
Gehen Sie zur Facebook-Homepage.
Beispielszenario
Lassen Sie uns ein Szenario automatisieren, um Anmerkungen besser zu verstehen.
Step 1
Erstellen Sie ein Maven-Testprojekt mit dem Namen AnnotationTest.
Gehen Sie zu Datei → Neu → Andere → Maven → Maven-Projekt → Weiter.
Geben Sie die Gruppen-ID an (die Gruppen-ID identifiziert Ihr Projekt in allen Projekten eindeutig).
Geben Sie die Artefakt-ID an (die Artefakt-ID ist der Name des Glases ohne Version. Sie können einen beliebigen Namen in Kleinbuchstaben auswählen).
Klicken Sie auf Fertig stellen.
Öffnen pom.xml −
Gehen Sie zum Paket-Explorer auf der linken Seite von Eclipse.
Erweitern Sie das Projekt AnnotationTest.
Suchen Sie die Datei pom.xml.
Klicken Sie mit der rechten Maustaste und wählen Sie die Option "Mit" Texteditor öffnen ".
Abhängigkeit für Selen hinzufügen - Dies zeigt Maven an, welche Selenium-JAR-Dateien vom zentralen Repository in das lokale Repository heruntergeladen werden sollen.
Öffnen Sie pom.xml im Bearbeitungsmodus. Erstellen Sie ein Abhängigkeits-Tag (<Abhängigkeiten> </ Abhängigkeiten>) innerhalb des Projekt-Tags.
Erstellen Sie innerhalb des Abhängigkeits-Tags ein Abhängigkeitstag (<Abhängigkeit> </ Abhängigkeit>).
Geben Sie die folgenden Informationen im Abhängigkeitstag an.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.47.1</version>
</dependency>
Abhängigkeit für Cucumber-Java hinzufügen - Dies gibt Maven an, welche Cucumber-Dateien vom zentralen Repository in das lokale Repository heruntergeladen werden sollen.
Erstellen Sie ein weiteres Abhängigkeitstag.
Geben Sie die folgenden Informationen im Abhängigkeitstag an.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
Abhängigkeit für Cucumber-JUnit hinzufügen - Dies gibt Maven an, welche Cucumber JUnit-Dateien vom zentralen Repository in das lokale Repository heruntergeladen werden sollen.
Erstellen Sie ein weiteres Abhängigkeitstag.
Geben Sie die folgenden Informationen im Abhängigkeitstag an.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
Abhängigkeit für JUnit hinzufügen - Dies gibt Maven an, welche JUnit-Dateien vom zentralen Repository in das lokale Repository heruntergeladen werden sollen.
Erstellen Sie ein weiteres Abhängigkeitstag.
Geben Sie die folgenden Informationen im Abhängigkeitstag an.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
Überprüfen Sie die Binärdateien.
Sobald pom.xml erfolgreich bearbeitet wurde, speichern Sie es.
Gehen Sie zu Projekt → Reinigen - Es dauert einige Minuten.
Step 2
Erstellen Sie ein Paket mit dem Namen Annotation unter src/test/java
Wählen Sie das neu erstellte Projekt aus.
Klicken Sie mit der rechten Maustaste und wählen Sie "Neu".
Wählen Sie die Option "Paket".
Nennen Sie es als "Anmerkung".
Speichern Sie es.
Step 3
Erstellen Sie eine Feature-Datei mit dem Namen annotation.feature.
Wählen Sie die Paketskizze aus und klicken Sie mit der rechten Maustaste darauf.
Klicken Sie auf "Neu".
Geben Sie der Datei einen Namen wie outline.feature.
Schreiben Sie den folgenden Text in die Datei und speichern Sie ihn.
Feature: annotation
#This is how background can be used to eliminate duplicate steps
Background:
User navigates to Facebook Given
I am on Facebook login page
#Scenario with AND
Scenario:
When I enter username as "TOM"
And I enter password as "JERRY"
Then Login should fail
#Scenario with BUT
Scenario:
When I enter username as "TOM"
And I enter password as "JERRY"
Then Login should fail
But Relogin option should be available
Step 4
Erstellen Sie eine Schrittdefinitionsdatei.
Wählen Sie die Paketskizze aus und klicken Sie mit der rechten Maustaste darauf.
Klicken Sie auf "Neu".
Geben Sie den Dateinamen als an annotation.java
Schreiben Sie den folgenden Text in die Datei und speichern Sie ihn.
package Annotation;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import cucumber.annotation.en.Given;
import cucumber.annotation.en.Then;
import cucumber.annotation.en.When;
public class annotation {
WebDriver driver = null;
@Given("^I am on Facebook login page$")
public void goToFacebook() {
driver = new FirefoxDriver();
driver.navigate().to("https://www.facebook.com/");
}
@When("^I enter username as \"(.*)\"$")
public void enterUsername(String arg1) {
driver.findElement(By.id("email")).sendKeys(arg1);
}
@When ("^I enter password as \"(.*)\"$")
public void enterPassword(String arg1) {
driver.findElement(By.id("pass")).sendKeys(arg1);
driver.findElement(By.id("u_0_v")).click();
}
@Then("^Login should fail$")
public void checkFail() {
if(driver.getCurrentUrl().equalsIgnoreCase(
"https://www.facebook.com/login.php?login_attempt=1&lwv=110")){
System.out.println("Test1 Pass");
} else {
System.out.println("Test1 Failed");
}
driver.close();
}
@Then("^Relogin option should be available$")
public void checkRelogin() {
if(driver.getCurrentUrl().equalsIgnoreCase(
"https://www.facebook.com/login.php?login_attempt=1&lwv=110")){
System.out.println("Test2 Pass");
} else {
System.out.println("Test2 Failed");
}
driver.close();
}
}
Step 5
Erstellen Sie eine Runner-Klassendatei.
Wählen Sie die Paketskizze aus und klicken Sie mit der rechten Maustaste darauf.
Klicken Sie auf "Neu".
Geben Sie der Datei einen Namen, z runTest.java
Schreiben Sie den folgenden Text in die Datei und speichern Sie ihn.
package Annotation;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options(format = {"pretty", "html:target/cucumber"})
public class runTest { }
Step 6
Führen Sie den Test mit der Option - aus.
Wählen Sie im Paket-Explorer die Datei runTest.java aus.
Klicken Sie mit der rechten Maustaste und wählen Sie die Option ‘Run as’
Wählen Sie JUnit-Test.
Sie werden die folgenden Dinge beachten, wenn Sie diese Klassendatei ausführen -
Facebook wird in einer neuen Firefox-Webbrowser-Instanz geöffnet.
TOM wird als Eingabe an das Feld Benutzername übergeben.
JERRY wird als Eingabe in das Passwortfeld übergeben.
Login wird angeklickt.
Im Browser wird eine Meldung angezeigt, dass die Anmeldung nicht erfolgreich war.
In der Konsole wird "Test Pass" gedruckt
Schritt Ergebnis 1. bis 5. Wird für den Benutzernamen als "" und das Passwort als "" erneut ausgeführt.