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.