Selenium koos Cucumber (BDD raamistik)
Sellest õpetusest saate teada, kuidas integreerida Cucumber koos Selenium Veebidraiver.
Mis on Cucumber?
Cucumber on testimisviis, mis toetab käitumispõhist arendust (BDD). See selgitab rakenduse käitumist lihtsas ingliskeelses tekstis, kasutades kornišoni keelt.
Lisateavet leiate aadressilt - https://www.guru99.com/cucumber-tutorials.html
Mis on Selenium?
Selenium on automatiseerimistööriist Funktsionaalne testimine veebipõhise rakenduse kohta. Selenium toetab erinevaid keeli, nagu java, ruby, python C# jne.
Lisateavet leiate aadressilt - https://www.guru99.com/selenium-tutorial.html
Miks kasutada Cucumber koos Selenium?
Cucumber ja Selenium on kaks populaarset tehnoloogiat.
Enamik organisatsioone kasutab Selenium funktsionaalseks testimiseks. Need organisatsioonid, mis kasutavad Selenium, tahan integreerida Selenium koos Cucumber as Cucumber teeb seda on lihtne lugeda ja rakenduse voogu mõista.
Cucumber tööriist põhineb Behavior Driven Development raamistikul, mis toimib sillana järgmiste inimeste vahel:
- Tarkvarainsener ja ärianalüütik.
- Käsitsi tester ja automaatika tester.
- Käsitsi testija ja arendajad.
Cucumber BDD raamistik ka kliendil on kasulik rakenduse koodist aru saada kuna see kasutab lihttekstis olevat kornišoni keelt. Igaüks organisatsioonis saab tarkvara käitumisest aru. Gherkini süntaks on lihtsas tekstis, mis on loetav ja arusaadav.
Kasutamise eeltingimus Cucumber koos Selenium
Enne kui alustame Cucumber Selenium integreerimiseks vajame järgmisi üksusi:
- Selenium jar failid:
- Selenium-server-eraldi
Saab alla laadida aadressilt http://www.seleniumhq.org/download/
Jar failid For Cucumber :
- Cucumber-skoor
- Cucumber-html
- cobertura koodi katvus
- Cucumber-java
- Cucumber-junit
- Cucumber-jvm-deps
- Cucumber-aruandlus
- Hamcrest-südamik
- Kornišon
- Junit
Saab alla laadida aadressilt https://mvnrepository.com/search?q=Cucumber
Peate faile otsima ja ükshaaval alla laadima.
Näiteks näitame teile, kuidas alla laadida üks jar-failidest, st "Cucumber-tuum."
Klõpsake ülaloleval allalaadimislingil. See suunab ümber allolevale saidile. Nüüd otsige konkreetset purki, stCucumber Core' nagu on näidatud alloleval ekraanipildil:
Järgmisel lehel klõpsake versioonil 1.2.2,
Järgmisel ekraanil klõpsake allalaadimisel, et hankidaCucumber Core' jar fail.
märkused: Teie hõlbustamiseks oleme koondanud Mavenist allalaadimiseks vajalikud jar-failid siin. Aja jooksul võivad need purgid uueneda ja muutuda kokkusobimatuks. Teil palutakse need ülaltoodud meetodil alla laadida.
Automatiseerimise testimise kasutamine Cucumber koos Selenium.
Uurime kasutamise samme Cucumber seleeniga samm-sammult. Siin käsitleme 3 stsenaariumi:
- 1. stsenaarium: printige konsoolis tekst.
- 2. stsenaarium: sisestage sisselogimismandaat ja lähtestage väärtus.
- 3. stsenaarium: sisestage Guru99 sisselogimismandaat ja lähtestage väärtus. Tehke seda 3 andmekomplekti jaoks.
1. stsenaarium: printige konsoolis tekst.
Selle stsenaariumi korral prindime konsoolis oleva teksti lihtsalt kasutades Cucumber.
Step 1) Loo projekt eclipse'is.
Looma Java projekt nimega "CucumberkoosSelenium” nagu on näidatud alloleval ekraanipildil.
Step 2) Jar-failide lisamine projekti.
Paremklõpsake projektil > valige Atribuudid > Mine Java Ehitage rada. Lisage kõik varem alla laaditud teegid.
Step 3) Funktsioonifaili loomine
Funktsioonifaili loomiseks looge esmalt funktsioonide kaust, nagu on näidatud alloleval ekraanipildil.
Nüüd sisestage kausta nimi "Funktsioonid" ja klõpsake nuppu "Lõpeta".
Nüüd looge funktsioonifail kaustas Funktsioonid nimega "MyTest.feature" – protsess sarnaneb kausta loomisega
Märge: Võimalik, et peate installima Cucumber Eclipse Plugin selle toimimiseks. Mine - Abi -> Uue tarkvara installimine -> kopeeri ja kleebi link http://cucumber.github.io/cucumber-eclipse/update-site/ Ja installige
Step 4) Kirjutage stsenaariume.
Allolevad read on kirjutatud faili „MyTest.feature”, kasutades Gherkini keelt, nagu allpool näidatud:
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
Koodi selgitus
1. rida) Sellele reale kirjutame ärifunktsioonid.
2. rida) Sellele reale kirjutame testimiseks stsenaariumi.
3. rida) Sellel real määratleme eeltingimuse.
4. rida) Sellel real määratleme toimingu, mida peame tegema.
4. rida) Sellel real määratleme eeldatava tulemuse või tulemuse.
Step 5) Seleeni testrunneri skripti kirjutamine Selenium Cucumber raamistiku disain
Siin loome paketi 'TestRunner' ja selle alla siis 'Runner.java' klassi faili.
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 { }
Ülalpool Cucumber Java Näidiskoodi käivitame kurgi test kasutades järgmisi märkusi:
@RunWith() annotatsioon räägib testi läbiviijate klassist, et alustada meie testide täitmist.
@CucmberOptions() annotatsiooni kasutatakse meie kurgitesti teatud atribuutide, näiteks funktsioonifaili, sammude määratluse jne määramiseks.
TestRunneri faili ekraanipilt.
Step 6) Step Definition skripti loomine.
Nüüd loome siin paketi "StepDefinition" ja selle alla skriptifaili "Steps.java". Siin kirjutame tegelikult seleeni skripti, mille alusel testi läbi viia Cucumber meetodid.
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."); } }
Ülaltoodud koodis luuakse klass nimega "Sammud". Cucumber annotatsiooni kasutatakse funktsioonifailiga kaardistamiseks. Iga märkimismeetod on määratletud:
@Antud annotatsioon määrake meetod Firefoxi avamiseks ja rakenduse käivitamiseks
@Millal annotatsioon määrake kasutajanime ja parooli sisestamise meetod
@Siis annotatsiooni määramise meetod mandaadi lähtestamiseks
Iga meetodi puhul prindime ainult sõnumi.
Allpool on 'Steps.java' skripti ja projektipuu ekraanipilt, kuidas see välja näeb.
Märge: Sammude määratlus ei ole midagi muud kui sammud, mida soovite selle kurgimeetodi raames teha.
Step 7) Skripti täitmine.
Kasutaja saab seda skripti käivitada Test runner skriptist, st "Runner.java", nagu on näidatud alloleval ekraanipildil.
Step 8) Analüüsige väljundit.
Skripti Runner.java käivitamisel kuvab see teksti konsoolil. See on sama tekst, mis on määratletud skriptis „Steps.java”.
2. stsenaarium: sisestage sisselogimismandaat ja lähtestage väärtus.
Siin sisestame lihtsalt Guru99 demo sisselogimislehele mandaadi ja lähtestame väärtuse
2. stsenaariumi puhul peame värskendama ainult skripti „Steps.java”. Siin kirjutame tegelikult seleeni skripti, nagu allpool näidatud. Esiteks peame lisama Selenium jar faili sellesse projekti.
Step 1) Siin värskendame skripti "Steps.java", nagu on näidatud alloleval koodil ja ekraanipildil.
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(); } }
Ekraanipilt ülaltoodud seleeni skriptist.
Step 2) Käivitage skript.
Pärast värskendamist käivitame Runner.java.
Step 3) Analüüsige väljundit.
Väljundis näete järgmist:
- Brauser käivitati.
- Guru99 panga demosait avatakse.
- Kasutajanimi ja parool paigutatakse sisselogimislehele.
- Lähtestage väärtused.
3. stsenaarium: sisestage Guru99 sisselogimismandaat ja lähtestage väärtus. Tehke seda 3 andmekomplekti jaoks.
Siin peame värskendama nii "Step.java" kui ka funktsioonifaili.
Step 1) Värskendage funktsioonifaili, nagu allpool näidatud:
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.
Step 2) Nüüd värskendage skripti Step.java.
Siin värskendame meetodeid parameetrite edastamiseks, värskendatud skript on näidatud allpool:
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(); } }
Step 3) Nüüd käivitage värskendatud skript.
Alloleval ekraanil kuvatakse skripti edukas täitmine ja iga andmekomplekti jaoks kuluv aeg.
Step 4) Analüüsige väljundit.
Väljundis näete järgmist:
Allolevat väljundit korratakse andmekogumite arvu jaoks, st 3 komplekti.
- Brauser käivitati.
- Guru99 panga demosait avatakse.
- Kasutajanimi ja parool paigutatakse sisselogimislehele.
- Lähtestage väärtused.
Järeldus
Cucumber on väga populaarne BDD tööriist. Seda on lihtne lugeda ja sellest saavad aru kõik sidusrühmad, sealhulgas tehnilised ja mittetehnilised isikud.
Cucumber saab integreerida Selenium kasutades järgmist 3 sammu
- Looge funktsioonifail, milles määratlege funktsioon ja stsenaariumid samm-sammult, kasutades kornišoni keelt.
- Looge Testrunneri fail. Sellesse faili integreerisime Cucumber koos BDD raamistikuga Selenium. Me täidame selle skripti.
- Loo etapi definitsioon, tegelik seleeni skript, mis on määratletud selle paketi all.