Selenium with Cucumber (BDD Framework Tutorial)


Tässä opetusohjelmassa opit integroimaan Cucumber with Selenium Web-ajuri.

Mikä on Cucumber?

Cucumber on testausmenetelmä, joka tukee Behavior Driven Development (BDD) -tekniikkaa. Se selittää sovelluksen toiminnan yksinkertaisella englanninkielisellä tekstillä käyttäen kurkkukieltä.

Lisätietoja osoitteessa - https://www.guru99.com/cucumber-tutorials.html

Mikä on Selenium?

Selenium on automaatiotyökalu Toiminnallinen testaus verkkopohjaisesta sovelluksesta. Selenium tukee eri kieliä, kuten java, ruby, python C# jne.

Lisätietoja osoitteessa - https://www.guru99.com/selenium-tutorial.html

Miksi käyttää Cucumber with Selenium?

Cucumber ja Selenium ovat kaksi suosittua tekniikkaa.

Suurin osa organisaatioista käyttää Selenium toiminnallista testausta varten. Nämä organisaatiot, jotka käyttävät Selenium, haluavat integroida Selenium with Cucumber as Cucumber tekee se on helppo lukea ja ymmärtää sovelluskulkua.

Cucumber työkalu perustuu Behaviour Driven Development -kehykseen, joka toimii siltana seuraavien ihmisten välillä:

  1. Ohjelmistoinsinööri ja liiketoimintaanalyytikko.
  2. Manuaalinen testaaja ja automaatiotestauslaite.
  3. Manuaalinen testaaja ja kehittäjät.

Cucumber Myös BDD-kehys auttaa asiakasta ymmärtämään sovelluskoodin koska se käyttää kurkkukieltä, joka on tavallisessa tekstissä. Kuka tahansa organisaatiossa voi ymmärtää ohjelmiston toiminnan. Gherkinin syntaksi on yksinkertaista, luettavaa ja ymmärrettävää.

Cucumber with Selenium

Käytön edellytys Cucumber with Selenium

Ennen kuin aloitamme Cucumber Selenium integraatio, tarvitsemme seuraavat kohteet:

  • Selenium jar-tiedostot:
  • Selenium-palvelin-erillinen

Voidaan ladata osoitteesta http://www.seleniumhq.org/download/

Käytön edellytys Cucumber with Selenium

Jar tiedostot For Cucumber :

  • Cucumber-ydin
  • Cucumber-html
  • cobertura-koodin kattavuus
  • Cucumber-java
  • Cucumber-junit
  • Cucumber-jvm-deps
  • Cucumber-raportointi
  • Hamcrest-ydin
  • etikkakurkku
  • Junit

Voidaan ladata osoitteesta https://mvnrepository.com/search?q=Cucumber

Sinun täytyy etsiä tiedostoja ja ladata ne yksitellen.

Näytämme sinua esimerkiksi lataamaan yhden jar-tiedostoista, eli "Cucumber-ydin."

Napsauta yllä olevaa latauslinkkiä. Se ohjaa alla olevalle sivustolle. Etsi nyt tietty purkki, esim.Cucumber Core' alla olevan kuvakaappauksen mukaisesti:

Käytön edellytys Cucumber with Selenium

Napsauta seuraavalla sivulla versiota 1.2.2,

Käytön edellytys Cucumber with Selenium

Napsauta seuraavassa näytössä latauspainiketta saadaksesiCucumber Core' jar-tiedosto.

Käytön edellytys Cucumber with Selenium

Huomautuksia: Olemme koonneet nipuksi jar-tiedostot, jotka on ladattava Mavenista tätä. Ajan myötä nämä purkit saattavat päivittyä ja muuttua yhteensopimattomiksi. Sinua pyydetään lataamaan ne yllä kuvatulla tavalla.

Automaatiotestauksen käyttö Cucumber with Selenium.

Tutkitaan vaiheita käytettäväksi Cucumber seleenin kanssa askel askeleelta. Tässä käsittelemme 3 skenaariota:

  • Skenaario 1: Tulosta teksti konsoliin.
  • Skenaario 2: Anna kirjautumistiedot ja nollaa arvo.
  • Skenaario 3: Anna Guru99:n kirjautumistiedot ja nollaa arvo. Tee tämä 3 tietojoukolle.

Skenaario 1: Tulosta teksti konsoliin.

Tässä skenaariossa vain tulostamme tekstin konsoliin käyttämällä Cucumber.

Vaihe 1) Luo projekti eclipse.

luoda Java projekti nimeltä "CucumberKanssaSelenium", kuten alla olevassa kuvakaappauksessa näkyy.

Automaatiotestauksen käyttö Cucumber with Selenium

Automaatiotestauksen käyttö Cucumber with Selenium

Vaihe 2) Jar-tiedostojen lisääminen projektiin.

Napsauta projektia hiiren kakkospainikkeella > valitse Ominaisuudet > Siirry Java Rakenna polku. Lisää kaikki aiemmin ladatut kirjastot.

Automaatiotestauksen käyttö Cucumber with Selenium

Vaihe 3) Luodaan ominaisuustiedostoa

Luodaksesi ominaisuustiedoston, luo ensin ominaisuuskansio alla kuvatulla tavalla.

Automaatiotestauksen käyttö Cucumber with Selenium

Kirjoita nyt kansion nimi "Ominaisuudet" ja napsauta "Valmis"-painiketta.

Automaatiotestauksen käyttö Cucumber with Selenium

Automaatiotestauksen käyttö Cucumber with Selenium

Luo nyt ominaisuustiedosto "Ominaisuudet"-kansioon nimellä "MyTest.feature" – Prosessi on samanlainen kuin kansion luominen

Automaatiotestauksen käyttö Cucumber with Selenium

Huomautus: Saatat joutua asentamaan Cucumber Eclipse Plugin, jotta tämä toimii. Siirry - Ohjeet-> Asenna uusi ohjelmisto-> kopioi ja liitä linkki http://cucumber.github.io/cucumber-eclipse/update-site/ ja asenna

Vaihe 4) Kirjoita skenaarioita.

Alla olevat rivit on kirjoitettu 'MyTest.feature'-tiedostoon käyttäen Gherkin-kieltä alla esitetyllä tavalla:

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			

Koodin selitys

rivi 1) Tälle riville kirjoitamme liiketoimintatoiminnallisuutta.

rivi 2) Tälle riville kirjoitamme skenaarion testattavaksi.

rivi 3) Tällä rivillä määrittelemme edellytyksen.

rivi 4) Tällä rivillä määrittelemme toiminnon, joka meidän on suoritettava.

rivi 4) Tällä rivillä määrittelemme odotetun tuloksen tai tuloksen.

Vaihe 5) Seleeni testrunner -skriptin kirjoittaminen Selenium Cucumber rungon suunnittelu

Täällä luodaan 'TestRunner'-paketti ja sitten 'Runner.java'-luokkatiedosto sen alle.

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 				
{		

}

Edellä Cucumber Java esimerkkikoodi, suoritamme kurkku testi käyttämällä seuraavia merkintöjä:

@RunWith() annotaatio kertoo testin juoksijaluokasta, jotta voimme aloittaa testiemme suorittamisen.

@CucmberOptions() Annotaatiota käytetään määrittämään joitain ominaisuuksia kurkkutestillemme, kuten ominaisuustiedosto, askelmäärittely jne.

Näyttökaappaus TestRunner-tiedostosta.

Automaatiotestauksen käyttö Cucumber with Selenium

Vaihe 6) Step Definition -skriptin luominen.

Nyt täällä luodaan "StepDefinition"-paketti ja sitten "Steps.java"-skriptitiedosto sen alle. Täällä kirjoitamme itse asiassa seleeniskriptin testin suorittamista varten Cucumber menetelmiä.

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

}

Yllä olevassa koodissa luokka luodaan nimellä "Steps". Cucumber huomautusta käytetään kartoittamaan ominaisuustiedoston kanssa. Jokainen merkintämenetelmä on määritelty:

@ Annettu merkintä määrittää menetelmä Firefoxin avaamiseksi ja sovelluksen käynnistämiseksi

@Kun huomautus määrittää menetelmän käyttäjänimen ja salasanan syöttämiseksi

@Sitten annotation määrittää menetelmä valtuustietojen nollaamiseksi

Jokaisella menetelmällä tulostamme vain viestin.

Alla on kuvakaappaus "Steps.java"-skriptistä ja projektipuusta, miltä se näyttää.

Automaatiotestauksen käyttö Cucumber with Selenium

Huomautus: Vaiheen määrittely ei ole muuta kuin vaiheet, jotka haluat suorittaa tällä kurkkumenetelmällä.

Vaihe 7) Suoritetaan komentosarjaa.

Käyttäjä voi suorittaa tämän skriptin Test runner -skriptistä, eli "Runner.java", kuten alla olevassa kuvakaappauksessa näkyy.

Automaatiotestauksen käyttö Cucumber with Selenium

Vaihe 8) Analysoi tulos.

Suorittaessaan Runner.java-komentosarjaa se näyttää tekstin konsolissa. Se on sama teksti kuin Steps.java-skriptissä.

Automaatiotestauksen käyttö Cucumber with Selenium

Skenaario 2: Anna kirjautumistiedot ja nollaa arvo.

Tässä syötämme vain Credential Guru99 -esittelyn kirjautumissivulle ja nollaamme arvon

Skenaariossa 2 meidän on päivitettävä vain Steps.java-skripti. Täällä kirjoitamme itse asiassa seleeniohjelman alla olevien vaiheiden mukaisesti. Ensinnäkin meidän on lisättävä Selenium jar-tiedosto tähän projektiin.

Anna kirjautumistiedot ja nollaa arvo

Vaihe 1) Täällä päivitämme "Steps.java"-skriptin alla olevan koodin ja kuvakaappauksen mukaisesti.

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

Kuvakaappaus yllä olevasta seleeniskriptistä.

Anna kirjautumistiedot ja nollaa arvo

Vaihe 2) Suorita käsikirjoitus.

Päivityksen jälkeen suoritamme Runner.javan.

Vaihe 3) Analysoi tulos.

Tulosteessa näet seuraavat asiat:

  • Selain käynnistetty.
  • Guru99 pankin esittelysivusto avataan.
  • Käyttäjätunnus ja salasana sijoitetaan kirjautumissivulle.
  • Palauta arvot.

Anna kirjautumistiedot ja nollaa arvo

Skenaario 3: Anna Guru99:n kirjautumistiedot ja nollaa arvo. Tee tämä 3 tietojoukolle.

Täällä meidän on päivitettävä sekä "Step.java" että ominaisuustiedosto.

Vaihe 1) Päivitä ominaisuustiedosto alla olevan kuvan mukaisesti:

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.

Anna kirjautumistiedot

Vaihe 2) Päivitä nyt Step.java-skripti.

Täällä päivitämme menetelmät parametrien välittämiseksi, päivitetty skripti näkyy alla:

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

Anna kirjautumistiedot

Vaihe 3) Suorita nyt päivitetty komentosarja.

Alla olevassa näytössä näkyy skriptin onnistunut suorittaminen ja kunkin tietojoukon käyttämä aika.

Anna kirjautumistiedot

Vaihe 4) Analysoi tulos.

Tulosteessa näet seuraavat asiat:

Alla oleva tuloste toistetaan datajoukkojen määrälle, eli 3 sarjalle.

  • Selain käynnistetty.
  • Guru99 pankin esittelysivusto avataan.
  • Käyttäjätunnus ja salasana sijoitetaan kirjautumissivulle.
  • Palauta arvot.

Anna kirjautumistiedot

Yhteenveto

Cucumber on erittäin suosittu BDD-työkalu. Se on helppolukuinen, ja sen ymmärtävät kaikki sidosryhmät, mukaan lukien tekniset ja ei-tekniset henkilöt.

Cucumber voidaan integroida Selenium käyttämällä seuraavia 3 vaihetta

  1. Luo ominaisuustiedosto, jossa määritä ominaisuus ja skenaariot askel askeleelta Gherkin-kielellä.
  2. Luo Testrunner-tiedosto. Integroimme tähän tiedostoon Cucumber BDD-kehyksen kanssa Selenium. Suoritamme tämän skriptin.
  3. Luo Step -määrittely, tässä paketissa määritetty varsinainen seleenikomentosarja.

Lue lisää Readmore