U ovom vodiču naučit ćete kako integrirati krastavac sa Selenium Webdriver.
Što je krastavac?
Krastavac je pristup testiranju koji podržava razvoj usmjeren na ponašanje (BDD). Objašnjava ponašanje aplikacije u jednostavnom engleskom tekstu na jeziku kornišon.
Saznajte više na - https://www.guru99.com/cucumber-tutorials.html
Što je selen?
Selen je alat za automatizaciju funkcionalnog testiranja web-bazirane aplikacije. Selen podržava različite jezike kao što su java, ruby, python C # itd.
Saznajte više na - https://www.guru99.com/selenium-tutorial.html
U ovom uputstvu za krastavce naučit ćemo-
- Zašto koristiti krastavac sa selenom?
- Preduvjet za upotrebu krastavca sa selenom.
- Ispitivanje automatizacije korištenjem krastavca sa selenom.
- Scenarij 1: Ispis teksta u konzoli.
- Scenarij 2: Unesite vjerodajnicu za prijavu i resetirajte vrijednost.
- Scenarij 3: Unesite vjerodajnice za prijavu na Guru99 i resetirajte vrijednost. Učinite to za 3 seta podataka.
Zašto koristiti krastavac sa selenom?
Krastavac i selen dvije su popularne tehnologije.
Većina organizacija koristi Selen za funkcionalna ispitivanja. Ove organizacije koje koriste Selen žele integrirati Selen s Krastavcem jer Krastavac olakšava čitanje i razumijevanje tijeka primjene.
Alat za krastavce temelji se na okviru ponašanja vođenom razvojem koji djeluje kao most između sljedećih ljudi:
- Softverski inženjer i poslovni analitičar.
- Ručni ispitivač i ispitivač automatizacije.
- Ručni ispitivač i programeri.
Okvir BDD od krastavca također koristi klijentu da razumije kod aplikacije jer koristi Gherkin jezik koji je u običnom tekstu. Svatko u organizaciji može razumjeti ponašanje softvera. Sintaksa Gherkin-a je u jednostavnom tekstu koji je čitljiv i razumljiv.
Preduvjet za upotrebu krastavca sa selenom
Prije nego započnemo integraciju krastavca selena, trebaju nam sljedeće stavke:
- Datoteke selenske posude:
- Selen-poslužitelj-samostalni
Može se preuzeti na http://www.seleniumhq.org/download/
Kartete za krastavac:
- Jezgra krastavca
- Krastavac-html
- pokrivenost kodom cobertura
- Krastavac-java
- Krastavac-junit
- Krastavac-jvm-deps
- Izvještavanje krastavaca
- Jezgra hemkresta
- Kornišion
- Junit
Može se preuzeti na https://mvnrepository.com/search?q=Cucumber
Trebate pretraživati datoteke i pojedinačno ih preuzimati jednu po jednu.
Na primjer, pokazat ćemo vam da preuzmete jednu od datoteka jar, tj. "Jezgra krastavca".
Kliknite gornju vezu za preuzimanje. Preusmjerava na dolje web mjesto. Sada pretražite određenu teglu, tj. "Jezgra krastavca", kao što je prikazano na snimci zaslona ispod:
Na sljedećoj stranici kliknite verziju 1.2.2,
Na sljedećem zaslonu kliknite na preuzimanje da biste dobili datoteku jar "Cucumber Core".
Napomena : Radi vaše jednostavnosti ovdje smo povezali jar datoteke potrebne za preuzimanje s Mavena. Vremenom se te tegle mogu ažurirati i postati nekompatibilne. Morate ih preuzeti pomoću gore ilustrirane metode.
Ispitivanje automatizacije korištenjem krastavca sa selenom.
Proučimo korake za upotrebu krastavca sa selenom korak po korak. Ovdje ćemo pokriti 3 scenarija:
- Scenarij 1: Ispis teksta u konzoli.
- Scenarij 2: Unesite vjerodajnicu za prijavu i resetirajte vrijednost.
- Scenarij 3: Unesite vjerodajnice za prijavu na Guru99 i resetirajte vrijednost. Učinite to za 3 seta podataka.
Scenarij 1: Ispis teksta u konzoli.
U ovom scenariju samo ispisujemo tekst na konzoli pomoću Krastavca.
Korak 1) Stvorite projekt u pomrčini.
Stvorite Java projekt s imenom "CucumberWithSelenium" kao što je prikazano na donjoj snimci zaslona.
Korak 2) Dodavanje Jar datoteka u projekt.
Desni klik na Projekt> Odaberi svojstva> Idi na Java Build Path. Dodajte sve ranije preuzete knjižnice.
Korak 3) Stvaranje datoteke značajki
Za stvaranje datoteke značajki prvo stvorite mapu značajki kao što je prikazano ispod slike zaslona.
Sada unesite naziv mape "Značajke" i kliknite gumb "Završi".
Sada stvorite datoteku značajke u mapi "Značajke" s imenom "MyTest.feature" - postupak je sličan stvaranju mape
Napomena: Možda ćete trebati instalirati dodatak za krastavce za krastavce da bi ovo uspjelo. Idite - Pomoć -> Instaliranje novog softvera -> kopirajte zalijepite vezu http://cucumber.github.io/cucumber-eclipse/update-site/ i instalirajte
Korak 4) Napišite scenarije.
Ispod su navedeni redovi u datoteci 'MyTest.feature' korištenjem jezika kornišona kako je prikazano dolje:
Značajka: Resetiranje funkcionalnosti na stranici za prijavu aplikacije
Scenarij: Provjera gumba za poništavanje
S obzirom Otvorite Firefox i pokrenite aplikaciju
Kada unesite korisničko ime i lozinku
Zatim resetirajte vjerodajnicu
Objašnjenje koda
Redak 1) U ovom retku pišemo poslovnu funkcionalnost.
Redak 2) U ovom retku napišemo scenarij za testiranje.
Redak 3) U ovom retku definiramo preduvjet.
Redak 4) U ovom retku definiramo radnju koju moramo izvršiti.
Redak 4) U ovom retku definiramo očekivani ishod ili rezultat.
Korak 5) Pisanje skripte selen testrunner za dizajn okvira selenijskog krastavca
Ovdje stvaramo paket "TestRunner", a zatim ispod njega datoteku klase "Runner.java".
paket TestRunner;import org.junit.runner.RunWith;uvoz krastavaca.api.CucumberOptions;uvoz krastavac.api.junit.Krastavac;@RunWith (Cucumber.class)@CucumberOptions (features = "Značajke", ljepilo = {"StepDefinition"})trkač javne klase{}
U gore navedenom primjeru koda za Cucumber Java, pokrećemo test krastavca koristeći sljedeće bilješke:
Bilješka @RunWith () govori o klasi test trkača da započne izvršavanje naših testova.
Oznaka @CucmberOptions () koristi se za postavljanje nekih svojstava za naš test krastavaca poput datoteke značajke, definicije koraka itd.
Snimka zaslona datoteke TestRunner.
Korak 6) Stvaranje skripte definicije koraka.
Sada ovdje kreiramo paket "StepDefinition", a zatim ispod njega skriptu "Steps.java". Ovdje zapravo pišemo skriptu selena za provođenje testa prema metodama krastavaca.
paket StepDefinition;uvoz krastavaca.api.java.en.Given;uvoziti krastavac.api.java.en.Onda;uvoz krastavaca.api.java.en.When;koraci javne klase {@Given ("Otvorite Firefox i pokrenite aplikaciju $")javna praznina open_the_Firefox_and_launch_the_application () baca mogućnost bacanja{System.out.println ("Ovaj korak otvorite Firefox i pokrenite aplikaciju.");}@When ("Unesite korisničko ime i lozinku $")javna praznina enter_the_Username_and_Password () baca bacanje{System.out.println ("Ovaj korak unesite korisničko ime i lozinku na stranici za prijavu.");}@Then ("Vrati vjerodajnicu $")javna praznina Reset_the_credential () baca mogućnost bacanja{System.out.println ("Ovaj korak kliknite gumb Poništi.");}}
U gornjem kodu razred je stvoren s imenom "Koraci". Bilješka krastavca koristi se za mapiranje s datotekom značajki. Svaka metoda bilježenja definirana je:
Metoda definiranja bilješke @Given za otvaranje firefoxa i pokretanje aplikacije
@ Kada anotacija definira metodu za unos korisničkog imena i lozinke
@ Zatim metoda definiranja bilješke za poništavanje vjerodajnica
Pod svakom metodom ispisujemo samo poruku.
Ispod je snimka zaslona skripte i stabla projekata 'Steps.java', kako to izgleda.
Napomena: Definicija koraka nije ništa drugo nego koraci koje želite izvesti prema ovoj metodi krastavaca.
Korak 7) Izvršenje skripte.
Korisnik može izvršiti ovu skriptu iz test runner skripte, tj. 'Runner.java' kao što je prikazano na donjoj snimci zaslona.
Korak 8) Analizirajte izlaz.
Pri izvršavanju skripte 'Runner.java' prikazuje tekst na konzoli. To je isti tekst definiran u skripti 'Steps.java'.
Scenarij 2: Unesite vjerodajnicu za prijavu i resetirajte vrijednost.
Ovdje ćemo samo unijeti vjerodajnice na demo stranicu za prijavu Guru99 i resetirati vrijednost
Za scenarij 2 trebamo ažurirati samo skriptu 'Steps.java'. Ovdje zapravo pišemo skriptu selena kako je prikazano u nastavku koraka. Prvo, ovom projektu moramo dodati datoteku jarku Selenium.
Korak 1) Ovdje ažuriramo skriptu 'Steps.java' kako je prikazano u donjem kodu i snimku zaslona.
paket StepDefinition;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;uvoz krastavaca.api.java.en.Given;uvoziti krastavac.api.java.en.Onda;uvoz krastavaca.api.java.en.When;koraci javne klase {Upravljački program za WebDriver;@Given ("Otvorite Firefox i pokrenite aplikaciju $")javna praznina open_the_Firefox_and_launch_the_application () baca mogućnost bacanja{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");upravljački program = novi FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/v4");}@When ("Unesite korisničko ime i lozinku $")javna praznina enter_the_Username_and_Password () baca bacanje{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("lozinka")). sendKeys ("lozinka12");}@Then ("Vrati vjerodajnicu $")javna praznina Reset_the_credential () baca mogućnost bacanja{driver.findElement (By.name ("btnReset")). click ();}}
Snimka zaslona gornje skripte za selen.
Korak 2) Izvršite skriptu.
Nakon ažuriranja pokrećemo Runner.java.
Korak 3) Analizirajte izlaz.
U izlazu možete vidjeti sljedeće:
- Pokrenut preglednik.
- Otvara se demo prezentacija banke Guru99.
- Korisničko ime i lozinka nalaze se na stranici za prijavu.
- Resetirajte vrijednosti.
Scenarij 3: Unesite vjerodajnice za prijavu na Guru99 i resetirajte vrijednost. Učinite to za 3 seta podataka.
Ovdje moramo ažurirati i 'Step.java' i datoteku značajki.
Korak 1) Ažurirajte datoteku značajki kao što je prikazano u nastavku:
Ovdje ažuriramo datoteku značajki sintaksom 'Scenario Outline' i 'examples'.
Značajka: Resetiranje funkcionalnosti na stranici za prijavu aplikacije
Pregled scenarija: Provjera gumba za poništavanje s brojevima vjerodajnica
S obzirom Otvorite Firefox i pokrenite aplikaciju
Kada unesite korisničko ime
i lozinku Zatim resetirajte vjerodajnicu
Primjeri:
| korisničko ime | lozinka |
| Korisnik1 | lozinka1 |
| Korisnik2 | lozinka2 |
| Korisnik3 | lozinka3 |
// U ovom retku definiramo skup podataka.
Korak 2) Ažurirajte skriptu Step.java.
Ovdje ažuriramo metode za prosljeđivanje parametara, ažurirane skripte prikazane u nastavku:
paket StepDefinition;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;uvoz krastavaca.api.java.en.Given;uvoziti krastavac.api.java.en.Onda;uvoz krastavaca.api.java.en.When;koraci javne klase {Upravljački program za WebDriver;@Given ("Otvorite Firefox i pokrenite aplikaciju $")javna praznina open_the_Firefox_and_launch_the_application () baca mogućnost bacanja{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");upravljački program = novi FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("www.demo.guru99.com/v4");}@ Kada ("Unesite korisničko ime \" (. *) \ "I lozinku \" (. *) \ "$")javna praznina enter_the_Username_and_Password (korisničko ime niza, lozinka niza) baca mogućnost bacanja{driver.findElement (By.name ("uid")). sendKeys (korisničko ime);driver.findElement (By.name ("lozinka")). sendKeys (lozinka);}@Then ("Vrati vjerodajnicu $")javna praznina Reset_the_credential () baca mogućnost bacanja{driver.findElement (By.name ("btnReset")). click ();}}
Korak 3) Izvršite ažuriranu skriptu.
Ispod zaslona prikazano je uspješno izvršavanje skripte i vrijeme potrebno svakom skupu podataka.
Korak 4) Analizirajte izlaz.
U izlazu možete vidjeti sljedeće:
Ispod se izlaz ponavlja za broj skupova podataka, tj. 3 skupa.
- Pokrenut preglednik.
- Otvara se demo prezentacija banke Guru99.
- Korisničko ime i lozinka nalaze se na stranici za prijavu.
- Resetirajte vrijednosti.
Zaključak.
Krastavac je vrlo popularan BDD alat. Lako se čita i mogu ga razumjeti svi dionici, uključujući tehničku i netehničku osobu.
Krastavac se može integrirati sa selenom pomoću slijedeća 3 koraka
- Stvorite datoteku značajki u kojoj korak po korak definirajte značajku i scenarije koristeći Gherkin jezik.
- Stvorite Testrunner datoteku. U ovu datoteku integrirali smo krastavac s BDD okvirom u selenu. Izvršavamo ovu skriptu.
- Definicija Creat koraka, stvarna skripta selena definirana u ovom paketu.