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ä:
- Ohjelmistoinsinööri ja liiketoimintaanalyytikko.
- Manuaalinen testaaja ja automaatiotestauslaite.
- 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ää.
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/
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:
Napsauta seuraavalla sivulla versiota 1.2.2,
Napsauta seuraavassa näytössä latauspainiketta saadaksesiCucumber Core' jar-tiedosto.
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.
Vaihe 2) Jar-tiedostojen lisääminen projektiin.
Napsauta projektia hiiren kakkospainikkeella > valitse Ominaisuudet > Siirry Java Rakenna polku. Lisää kaikki aiemmin ladatut kirjastot.
Vaihe 3) Luodaan ominaisuustiedostoa
Luodaksesi ominaisuustiedoston, luo ensin ominaisuuskansio alla kuvatulla tavalla.
Kirjoita nyt kansion nimi "Ominaisuudet" ja napsauta "Valmis"-painiketta.
Luo nyt ominaisuustiedosto "Ominaisuudet"-kansioon nimellä "MyTest.feature" – Prosessi on samanlainen kuin kansion luominen
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.
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ää.
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.
Vaihe 8) Analysoi tulos.
Suorittaessaan Runner.java-komentosarjaa se näyttää tekstin konsolissa. Se on sama teksti kuin Steps.java-skriptissä.
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.
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ä.
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.
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.
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(); } }
Vaihe 3) Suorita nyt päivitetty komentosarja.
Alla olevassa näytössä näkyy skriptin onnistunut suorittaminen ja kunkin tietojoukon käyttämä aika.
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.
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
- Luo ominaisuustiedosto, jossa määritä ominaisuus ja skenaariot askel askeleelta Gherkin-kielellä.
- Luo Testrunner-tiedosto. Integroimme tähän tiedostoon Cucumber BDD-kehyksen kanssa Selenium. Suoritamme tämän skriptin.
- Luo Step -määrittely, tässä paketissa määritetty varsinainen seleenikomentosarja.