Selenium s Cucumber (Výukový program BDD Framework)


V tomto tutoriálu se naučíte, jak se integrovat Cucumber s Selenium Webdriver.

Co je to Cucumber?

Cucumber je testovací přístup, který podporuje vývoj řízený chováním (BDD). Vysvětluje chování aplikace v jednoduchém anglickém textu v jazyce Gherkin.

Více se dozvíte na – https://www.guru99.com/cucumber-tutorials.html

Co je to Selenium?

Selenium je automatizační nástroj pro Funkční testování webové aplikace. Selenium podporuje různé jazyky jako java, ruby, python C# atd.

Více se dozvíte na – https://www.guru99.com/selenium-tutorial.html

Proč používat Cucumber s Selenium?

Cucumber si Selenium jsou dvě populární technologie.

Většina organizací používá Selenium pro funkční testování. Tyto organizace, které používají Selenium, chtějí se integrovat Selenium s Cucumber as Cucumber činí snadno se čte a rozumí toku aplikace.

Cucumber nástroj je založen na Behavior Driven Development framework, který funguje jako most mezi následujícími lidmi:

  1. Softwarový inženýr a obchodní analytik.
  2. Ruční tester a tester automatizace.
  3. Manuální tester a vývojáři.

Cucumber Rámec BDD také má pro klienta výhodu, že rozumí kódu aplikace protože používá jazyk Gherkin, který je v prostém textu. Kdokoli v organizaci může porozumět chování softwaru. Syntaxe Gherkin je v jednoduchém textu, který je čitelný a srozumitelný.

Cucumber s Selenium

Předpoklad pro použití Cucumber s Selenium

Než začneme Cucumber Selenium integrace, potřebujeme následující položky:

  • Selenium soubory jar:
  • Selenium-samostatný server

Lze stáhnout na http://www.seleniumhq.org/download/

Předpoklad pro použití Cucumber s Selenium

Jar soubory Pro Cucumber :

  • Cucumber-jádro
  • Cucumber-html
  • pokrytí kódem cobertura
  • Cucumber-Jáva
  • Cucumber- junit
  • Cucumber-jvm-deps
  • Cucumber- hlášení
  • Hamcrest-core
  • kyselá okurka
  • Junit

Lze stáhnout na https://mvnrepository.com/search?q=Cucumber

Musíte vyhledávat soubory a stahovat je jeden po druhém jednotlivě.

Ukážeme vám například stažení jednoho ze souborů jar, tj.Cucumber-jádro."

Klikněte na výše uvedený odkaz ke stažení. Přesměruje na níže uvedený web. Nyní vyhledejte konkrétní nádobu, tj.Cucumber Core', jak je znázorněno na snímku obrazovky níže:

Předpoklad pro použití Cucumber s Selenium

Na další stránce klikněte na verzi 1.2.2,

Předpoklad pro použití Cucumber s Selenium

Na další obrazovce klikněte na stáhnout a získejte 'Cucumber Core' jar soubor.

Předpoklad pro použití Cucumber s Selenium

Hodnocení: Pro vaši jednoduchost jsme přibalili soubory jar, které je třeba stáhnout z Maven zde. Časem se tyto sklenice mohou aktualizovat a stát se nekompatibilními. Jste požádáni, abyste si je stáhli výše uvedeným způsobem.

Použití automatizace testování Cucumber s Selenium.

Pojďme si prostudovat kroky k použití Cucumber se selenem krok za krokem. Zde pokryjeme 3 scénáře:

  • Scénář 1: Tisk textu v konzole.
  • Scénář 2: Zadejte přihlašovací údaje a resetujte hodnotu.
  • Scénář 3: Zadejte přihlašovací údaje na Guru99 a resetujte hodnotu. Udělejte to pro 3 sady dat.

Scénář 1: Tisk textu v konzole.

V tomto scénáři pouze vytiskneme text v konzole pomocí Cucumber.

Krok 1) Vytvořte projekt v Eclipse.

Vytvořit Java projekt s názvem "CucumberSSelenium“, jak je znázorněno na níže uvedeném snímku obrazovky.

Použití automatizace testování Cucumber s Selenium

Použití automatizace testování Cucumber s Selenium

Krok 2) Přidání souborů Jar do projektu.

Klikněte pravým tlačítkem na projekt > Vybrat vlastnosti > Přejít Java Vytvořit cestu. Přidejte všechny dříve stažené knihovny.

Použití automatizace testování Cucumber s Selenium

Krok 3) Vytváření souboru funkcí

Chcete-li vytvořit soubor funkcí, nejprve vytvořte složku funkcí, jak je znázorněno na obrázku níže.

Použití automatizace testování Cucumber s Selenium

Nyní zadejte název složky 'Features' a klikněte na tlačítko 'Finish'.

Použití automatizace testování Cucumber s Selenium

Použití automatizace testování Cucumber s Selenium

Nyní vytvořte soubor funkce ve složce „Features“ s názvem „MyTest.feature“ – proces je podobný vytvoření složky

Použití automatizace testování Cucumber s Selenium

Poznámka: Možná budete muset nainstalovat Cucumber Eclipse Plugin, aby to fungovalo. Přejít — Nápověda->Instalovat nový software->kopírovat a vložit odkaz http://cucumber.github.io/cucumber-eclipse/update-site/ a nainstalujte

Krok 4) Pište scénáře.

Níže uvedené řádky jsou zapsány v souboru 'MyTest.feature' pomocí jazyka Gherkin, jak je uvedeno níže:

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			

Vysvětlení kódu

řádek 1) V tomto řádku píšeme obchodní funkcionalitu.

řádek 2) V tomto řádku napíšeme scénář k testování.

řádek 3) V tomto řádku definujeme předběžnou podmínku.

řádek 4) V tomto řádku definujeme akci, kterou musíme provést.

řádek 4) V tomto řádku definujeme očekávaný výsledek nebo výsledek.

Krok 5) Psaní selenového testovacího skriptu pro Selenium Cucumber rámcový design

Zde vytvoříme balíček 'TestRunner' a pod ním soubor třídy 'Runner.java'.

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 				
{		

}

Ve výše uvedeném Cucumber Java příklad kódu spustíme okurkový test pomocí následujících poznámek:

@RunWith() anotace říká, že třída testovacích běžců začne provádět naše testy.

@CucmberOptions() anotace se používá k nastavení některých vlastností pro náš okurkový test, jako je soubor prvků, definice kroku atd.

Snímek obrazovky souboru TestRunner.

Použití automatizace testování Cucumber s Selenium

Krok 6) Vytvoření skriptu definice kroku.

Nyní zde vytvoříme balíček 'StepDefinition' a pod ním soubor skriptu 'Steps.java'. Zde ve skutečnosti píšeme selenový skript, pod kterým provedeme test Cucumber metody.

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.");					
    }		

}

Ve výše uvedeném kódu je třída vytvořena s názvem 'Kroky.' Cucumber anotace se používá k mapování se souborem prvků. Každá metoda anotace je definována:

@Given anotace definujte způsob otevření firefoxu a spuštění aplikace

@Když anotace definujte způsob zadání uživatelského jména a hesla

@Pak anotace definujte metodu resetování pověření

U každé metody tiskneme pouze zprávu.

Níže je snímek obrazovky skriptu 'Steps.java' a stromu projektu, jak to vypadá.

Použití automatizace testování Cucumber s Selenium

Poznámka: Definice kroku není nic jiného než kroky, které chcete v rámci této okurkové metody provést.

Krok 7) Provádění skriptu.

Uživatel může spustit tento skript ze skriptu testovacího běžce, tj. 'Runner.java', jak je znázorněno na obrázku níže.

Použití automatizace testování Cucumber s Selenium

Krok 8) Analyzujte výstup.

Při spuštění skriptu 'Runner.java' zobrazí text na konzole. Je to stejný text definovaný ve skriptu 'Steps.java'.

Použití automatizace testování Cucumber s Selenium

Scénář 2: Zadejte přihlašovací údaje a resetujte hodnotu.

Zde pouze zadáme Credential na přihlašovací stránce ukázky Guru99 a resetujeme hodnotu

Pro scénář 2 potřebujeme aktualizovat pouze skript 'Steps.java'. Zde ve skutečnosti píšeme selenový skript, jak je uvedeno níže. Nejprve musíme přidat Selenium jar do tohoto projektu.

Zadejte přihlašovací údaje a resetujte hodnotu

Krok 1) Zde aktualizujeme skript 'Steps.java', jak je znázorněno na níže uvedeném kódu a snímku obrazovky.

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();					
    }		
}		

Snímek obrazovky výše uvedeného selenového skriptu.

Zadejte přihlašovací údaje a resetujte hodnotu

Krok 2) Spusťte skript.

Po aktualizaci spustíme Runner.java.

Krok 3) Analyzujte výstup.

Ve výstupu můžete vidět následující:

  • Prohlížeč spuštěn.
  • Otevře se demo stránka banky Guru99.
  • Uživatelské jméno a heslo jsou umístěny na přihlašovací stránce.
  • Resetujte hodnoty.

Zadejte přihlašovací údaje a resetujte hodnotu

Scénář 3: Zadejte přihlašovací údaje na Guru99 a resetujte hodnotu. Udělejte to pro 3 sady dat.

Zde musíme aktualizovat jak 'Step.java', tak soubor funkcí.

Krok 1) Aktualizujte soubor funkcí, jak je uvedeno níže:

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.

Zadejte přihlašovací údaje

Krok 2) Nyní aktualizujte skript Step.java.

Zde aktualizujeme metody pro předávání parametrů, aktualizovaný skript uvedený níže:

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();					
    }		
}		

Zadejte přihlašovací údaje

Krok 3) Nyní spusťte aktualizovaný skript.

Níže uvedená obrazovka ukazuje úspěšné provedení skriptu a čas potřebný pro každou sadu dat.

Zadejte přihlašovací údaje

Krok 4) Analyzujte výstup.

Ve výstupu můžete vidět následující:

Níže uvedený výstup se opakuje pro počet datových sad, tj. 3 sady.

  • Prohlížeč spuštěn.
  • Otevře se demo stránka banky Guru99.
  • Uživatelské jméno a heslo jsou umístěny na přihlašovací stránce.
  • Resetujte hodnoty.

Zadejte přihlašovací údaje

Proč investovat do čističky vzduchu?

Cucumber je velmi populární nástroj BDD. Je snadno čitelný a může být srozumitelný všem zúčastněným stranám, včetně technických i netechnických osob.

Cucumber lze integrovat s Selenium pomocí následujících 3 kroků

  1. Vytvořte soubor prvku, ve kterém definujte prvek a scénáře krok za krokem pomocí jazyka Gherkin.
  2. Vytvořte soubor Testrunner. V tomto souboru jsme integrovali Cucumber se zabudovaným rámcem BDD Selenium. Spustíme tento skript.
  3. Vytvořit definici kroku, skutečný selenový skript definovaný v tomto balíčku.

Shrňte tento příspěvek takto: