Seleen kurgiga (BDD raamistik): õpetus näitega

Lang L: none (table-of-contents):

Anonim

Selles õpetuses saate teada, kuidas integreerida kurk seleeni veebidraiveriga.

Mis on kurk?

Kurk on testimisviis, mis toetab käitumispõhist arengut (BDD). See selgitab rakenduse käitumist lihtsas ingliskeelses tekstis, kasutades Gherkini keelt.

Lisateavet leiate aadressilt https://www.guru99.com/cucumber-tutorials.html

Mis on seleen?

Seleen on veebipõhise rakenduse funktsionaalse testimise automatiseerimise tööriist. Seleen toetab erinevaid keeli nagu java, ruby, python C # jne.

Lisateavet leiate aadressilt https://www.guru99.com/selenium-tutorial.html

Selles kurgiõpetuses õpime-

  • Miks kasutada kurki seleeniga?
  • Eeldus kurgi kasutamiseks seleeniga.
  • Automaatika testimine kurgi ja seleeni abil.
  • 1. stsenaarium: printige konsooli tekst.
  • 2. stsenaarium: sisestage sisselogimismandaat ja lähtestage väärtus.
  • 3. stsenaarium: sisestage Guru99-s sisselogimisandmed ja lähtestage väärtus. Tehke seda kolme andmekogumi jaoks.

Miks kasutada kurki seleeniga?

Kurk ja seleen on kaks populaarset tehnoloogiat.

Enamik organisatsioone kasutab funktsiooni testimiseks seleeni. Need seleeni kasutavad organisatsioonid soovivad seleeni integreerida kurgiga, sest kurk muudab rakenduste voo hõlpsaks lugemiseks ja mõistmiseks.

Kurgi tööriist põhineb käitumispõhise arengu raamistikul, mis toimib sillana järgmiste inimeste vahel:

  1. Tarkvarainsener ja ärianalüütik.
  2. Manuaalne tester ja automaatika tester.
  3. Käsitsi testija ja arendajad.

Kurgi BDD raamistik on kliendile kasulik ka rakenduse koodi mõistmiseks, kuna see kasutab lihttšoki keelt, mis on tavalises tekstis. Igaüks organisatsioonis saab tarkvara käitumisest aru. Gherkini süntaks on lihtsas tekstis, mis on loetav ja arusaadav.

Eeldus kurgi kasutamiseks seleeniga

Enne kurgi seleeni integreerimise alustamist vajame järgmisi elemente:

  • Seleenipurgifailid:
  • Seleen-server-iseseisev

Saate alla laadida aadressilt http://www.seleniumhq.org/download/

Purgifailid kurgi jaoks:

  • Kurgi-südamik
  • Kurk-html
  • cobertura koodi katvus
  • Kurk-java
  • Kurk-junit
  • Kurk-jvm-deps
  • Kurkide aruandlus
  • Hemcrest-tuum
  • Kornišon
  • Junit

Saab alla laadida aadressilt https://mvnrepository.com/search?q=Cucumber

Peate faile otsima ja need ükshaaval alla laadima.

Näiteks näitame teile, et laadite alla ühe purkfaili, st "Cucumber-core".

Klõpsake ülaltoodud allalaadimislingil. See suunab allolevale saidile. Nüüd otsige konkreetset purki, st "Kurgi südamik", nagu on näidatud allpool oleval ekraanipildil:

Klõpsake järgmisel lehel versiooni 1.2.2,

Järgmisel ekraanil klõpsake purgifaili "Cucumber Core" saamiseks allalaadimist.

Märkus . Oleme hõlbustanud siin Mavenist allalaadimiseks vajalikud purgifailid. Aja jooksul võivad need purgid uueneda ja muutuda kokkusobimatuks. Teil palutakse need ülaltoodud meetodil alla laadida.

Automaatika testimine kurgi ja seleeni abil.

Uurime järk-järgult samme seleeniga kurgi kasutamiseks. Siin käsitleme kolme stsenaariumi:

  • 1. stsenaarium: printige konsooli tekst.
  • 2. stsenaarium: sisestage sisselogimismandaat ja lähtestage väärtus.
  • 3. stsenaarium: sisestage Guru99-s sisselogimisandmed ja lähtestage väärtus. Tehke seda kolme andmekogumi jaoks.

1. stsenaarium: printige konsooli tekst.

Selle stsenaariumi korral printime lihtsalt teksti konsooli, kasutades kurki.

1. samm. Looge varjutuses projekt.

Looge Java-projekt nimega "CucumberWithSelenium", nagu on näidatud alloleval ekraanipildil.

Samm 2) Jari failide lisamine projekti.

Paremklõpsake nuppu Projekt> Vali atribuudid> Ava Java ehituse tee. Lisage kõik varem alla laaditud teegid.

Samm 3) Funktsioonifaili loomine

Funktsioonifaili loomiseks looge kõigepealt funktsioonide kaust, nagu on näidatud ekraanipildil.

Nüüd sisestage kausta nimi "Features" ja klõpsake nuppu "Finish".

Nüüd looge funktsioonifail kaustas Funktsioonid nimega "MyTest.feature" - protsess sarnaneb kausta loomisega

Märkus. Selle toimimiseks peate võib-olla installima Cucumber Eclipse'i pistikprogrammi. Jätka - aitab -> uue tarkvara installimine -> kopeerige link http://cucumber.github.io/cucumber-eclipse/update-site/ ja installige

4. samm . Kirjutage stsenaariumid.

Allpool olevad read on failis MyTest.feature kirjutatud Gherkini keeles, nagu allpool näidatud:

Funktsioon: Lähtesta funktsionaalsus rakenduse sisselogimislehel

Stsenaarium: nupu Lähtesta kontrollimine

Arvestades Avage Firefox ja käivitage rakendus

Kui sisestate kasutajanime ja parooli

Seejärel lähtestage mandaat

Koodi selgitus

Rida 1) Sellele reale kirjutame ettevõtte funktsionaalsuse.

Rida 2) Sellele reale kirjutame testimiseks stsenaariumi.

Rida 3) Selles reas määratleme eeltingimuse.

Rida 4) Selles reas määratleme toimingu, mida peame tegema.

Rida 4) Selles reas määratleme oodatava tulemuse või tulemuse.

Samm 5) Seleeni testrunneri skripti kirjutamine seleenikurgi raamistiku kujundamiseks

Siin loome paketi TestRunner ja seejärel selle alla klassi faili Runner.java.

pakett TestRunner;import org.junit.runner.RunWith;import kurk.api.CucumberOptions;import kurk.api.junit.Kurk;@RunWith (Kurk.klass)@CucumberOptions (features = "Features", liim = {"StepDefinition"})rahvaklassi Jooksja{}

Ülaltoodud kurgi Java näite koodis käivitame kurgi testi järgmiste märkuste abil:

@RunWith () annotatsioon ütleb testijooksjate klassist, et hakata meie teste täitma.

@CucmberOptions () märkust kasutatakse meie kurgi testi mõningate omaduste määramiseks, näiteks funktsioonifail, sammu määratlus jne.

TestRunneri faili ekraanipilt.

6. samm) toimingu Definition skripti loomine.

Nüüd loome siin paketi "StepDefinition" ja seejärel selle alla skriptifaili "Steps.java". Siin kirjutame tegelikult seleeniskripti testi tegemiseks kurgi meetodite all.

pakett StepDefinition;import kurk.api.java.en.Given;import kurk.api.java.en.Siis;import kurk.api.java.en.Millal;avaliku klassi sammud {@Given ("Avage Firefox ja käivitage rakendus $")public void open_the_Firefox_and_launch_the_application () viskab viskamist{System.out.println ("See samm avab Firefoxi ja käivitab rakenduse.");}@When ("sisestage kasutajanimi ja parool $")public void enter_the_Username_and_Password () viskab Throwable{System.out.println ("See samm sisestage sisselogimislehele kasutajanimi ja parool.");}@Then ("lähtestage mandaat $")public void Reset_the_credential () viskab Throwable{System.out.println ("See samm klõpsake nuppu Lähtesta.");}}

Ülaltoodud koodis luuakse klass nimega "Steps". Kurkide märkust kasutatakse funktsioonifailiga kaardistamiseks. Iga märkimismeetod on määratletud:

@Given annotation define meetod Firefoxi avamiseks ja rakenduse käivitamiseks

@Kui annotatsioon määrab kasutajanime ja parooli sisestamise meetodi

@Siis annotation define meetod volituste lähtestamiseks

Iga meetodi puhul printime ainult sõnumi.

Allpool on ekraanipilt 'Steps.java' skriptist ja projektipuust, kuidas see välja näeb.

Märkus. Sammude määratlus pole midagi muud kui need sammud, mida soovite selle kurgimeetodi abil teha.

Samm 7) Skripti käivitamine.

Kasutaja saab selle skripti käivitada Testrunneri skriptist, st 'Runner.java', nagu on näidatud alloleval ekraanipildil.

8. samm. 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 Credential ja lähtestame väärtuse

2. stsenaariumi jaoks peame värskendama ainult skripti „Steps.java”. Siin kirjutame tegelikult seleeniskripti, nagu on näidatud allpool. Esiteks peame sellesse projekti lisama Selenium jar faili.

Samm 1) Siin värskendame skripti "Steps.java", nagu on näidatud allpool olevas koodis ja ekraanipildis.

pakett StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import kurk.api.java.en.Given;import kurk.api.java.en.Siis;import kurk.api.java.en.Millal;avaliku klassi sammud {WebDriveri draiver;@Given ("Avage Firefox ja käivitage rakendus $")public void open_the_Firefox_and_launch_the_application () viskab viskamist{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");draiver = uus FirefoxDriver ();draiver.halda (). aken (). maksimeeri ();driver.get ("http://demo.guru99.com/v4");}@When ("sisestage kasutajanimi ja parool $")public void enter_the_Username_and_Password () viskab Throwable{draiver.findElement (By.name ("uid")). sendKeys ("kasutajanimi12");driver.findElement (By.name ("parool")). sendKeys ("password12");}@Then ("lähtestage mandaat $")public void Reset_the_credential () viskab Throwable{driver.findElement (By.name ("btnReset")). klõpsake ();}}

Ülaltoodud seleeni skripti ekraanipilt.

2. samm. Käivitage skript.

Pärast värskendamist käivitame Runner.java.

3. samm. Analüüsige väljundit.

Väljundis näete järgmist:

  • Brauser käivitatud.
  • Guru99 panga demosait avatakse.
  • Kasutajanimi ja parool pannakse sisselogimislehele.
  • Lähtestage väärtused.

3. stsenaarium: sisestage Guru99-s sisselogimisandmed ja lähtestage väärtus. Tehke seda kolme andmekogumi jaoks.

Siin peame värskendama nii 'Step.java' kui ka funktsioonifaili.

Samm 1) Värskendage funktsioonifaili, nagu allpool näidatud:

Siin värskendame funktsioonifaili süntaksiga "Stsenaariumi ülevaade" ja "näited".

Funktsioon: Lähtesta funktsionaalsus rakenduse sisselogimislehel

Stsenaariumi ülevaade: lähtestamisnupu kinnitamine volikirja numbritega

Arvestades Avage Firefox ja käivitage rakendus

Kui sisestate Kasutajanimi ja Parool

Seejärel lähtestage mandaat

Näited:

| kasutajanimi | parool |

| Kasutaja1 | parool1 |

| Kasutaja2 | parool2 |

| Kasutaja3 | parool3 |

// Sellel real määratleme andmete kogumi.

Samm 2) Nüüd värskendage skripti Step.java.

Siin värskendame parameetrite edastamise meetodeid, värskendatud skripti, mis on näidatud allpool:

pakett StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import kurk.api.java.en.Given;import kurk.api.java.en.Siis;import kurk.api.java.en.Millal;avaliku klassi sammud {WebDriveri draiver;@Given ("Avage Firefox ja käivitage rakendus $")public void open_the_Firefox_and_launch_the_application () viskab viskamist{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");draiver = uus FirefoxDriver ();draiver.halda (). aken (). maksimeeri ();driver.get ("www.demo.guru99.com/v4");}@When ("Sisestage kasutajanimi \" (. *) \ "Ja parool \" (. *) \ "$")public void enter_the_Username_and_Password (stringi kasutajanimi, stringi parool) viskab viskamise{draiver.findElement (By.name ("uid")). sendKeys (kasutajanimi);driver.findElement (By.name ("parool")). sendKeys (parool);}@Then ("lähtestage mandaat $")public void Reset_the_credential () viskab Throwable{driver.findElement (By.name ("btnReset")). klõpsake ();}}

Samm 3) Nüüd käivitage värskendatud skript.

Allpool olev ekraan näitab skripti edukat käivitamist ja iga andmekogumi võtmise aega.

4. samm. Analüüsige väljundit.

Väljundis näete järgmist:

Väljundi allpool korratakse andmekogumite arvu, st 3 komplekti.

  • Brauser käivitatud.
  • Guru99 panga demosait avatakse.
  • Kasutajanimi ja parool pannakse sisselogimislehele.
  • Lähtestage väärtused.

Järeldus.

Kurk on väga populaarne BDD tööriist. Seda on lihtne lugeda ja kõik sidusrühmad, sealhulgas tehnilised ja mittetehnilised isikud, sellest aru saavad.

Kurki saab seleeniga integreerida, järgides kolme sammu

  1. Looge funktsioonifail, milles määrake funktsioon ja stsenaariumid samm-sammult, kasutades Gherkini keelt.
  2. Looge Testrunneri fail. Selles failis integreerisime kurgi seleeni BDD raamistikuga. Me täidame selle skripti.
  3. Creat Stepi määratlus, selle paketi all määratletud tegelik seleeniskript.