cucumber gherkin tutorial
Ovaj informativni vodič objašnjava prednosti okvira krastavca krastavca i kako napisati skripte za automatizaciju pomoću jezika kornišona s jasnim primjerima:
Krastavac je alat zasnovan na okviru usmjerenom na ponašanje (BDD). BDD je metodologija za razumijevanje funkcionalnosti aplikacije u jednostavnom predstavljanju običnog teksta.
Glavni cilj okvira za razvoj usmjeren na ponašanje je omogućiti da različite projektne uloge poput poslovnih analitičara, osiguranja kvalitete, programera itd. Razumiju aplikaciju bez zaranjanja duboko u tehničke aspekte.
Alat za krastavce obično se koristi u stvarnom vremenu za pisanje testova prihvaćanja zahtjeva. Alat za krastavce pruža podršku za mnoge programske jezike kao što su Java, Ruby, .Net itd. Može se integrirati s više alata kao što su Selenium, Capybara itd.
Što ćete naučiti:
- Što je kornišon?
- Prednosti okvira krastavca krastavca krastavaca
- Integracija krastavca sa selenom
- Zaključak
Što je kornišon?
Kornišon je jezik koji koristi alat Krastavac. To je jednostavan prikaz ponašanja aplikacije na engleskom jeziku. Krastavac koristi koncept datoteka značajki u svrhu dokumentacije. Sadržaj u datotekama značajki napisan je na kornišonskom jeziku.
U sljedećim temama vidjet ćemo više o prednostima okvira krastavca krastavca, Integriranje krastavca sa selenom, stvaranje datoteke značajke i odgovarajuće datoteke definicije koraka i uzorka datoteke značajke.
Uobičajeni pojmovi za okvir krastavca krastavca krastavaca
Okvir krastavca krastavca koristi određene ključne riječi koje su ključne za pisanje datoteke značajke.
nedefinirana referenca na funkciju c ++
Sljedeći se pojmovi najčešće koriste u datotekama značajki:
# 1) Značajka:
Datoteka značajke mora sadržavati opis na visokoj razini aplikacije koja se testira (AUT). Prvi redak datoteke značajke mora započeti s ključnom riječi 'Značajka' koja slijedi opisaplikacijana ispitu. Prema standardima koje propisuje Krastavac, datoteka značajki mora sadržavati sljedeća tri elementa kao prvi redak.
- Ključna riječ
- Naziv značajke
- Opis značajke (nije obavezno)
Ključnu riječ značajke mora slijediti naziv značajke. Može sadržavati neobavezni odjeljak opisa koji se može proširiti na više redaka datoteke značajke. Datoteka značajke ima nastavak .feature.
# 2) Scenarij:
Scenarij je testna specifikacija funkcionalnosti koju treba testirati. U idealnom slučaju, datoteka značajke može sadržavati jedan ili više scenarija kao dio značajke. Scenarij uključuje više koraka ispitivanja. Prema standardima krastavca, scenarij mora uključivati 3-5 testnih koraka jer dugotrajni scenariji teže izgubiti svoju izražajnu snagu kad se broj koraka poveća.
Scenarij može uključivati sljedeće korake:
- Radnju koju će izvršiti korisnik.
- Očekivani rezultati akcije.
Na kornišonskom jeziku, scenarij mora sadržavati sljedeće ključne riječi:
- S obzirom
- Kada
- Zatim
- I
Dano:
Navedena ključna riječ koristi se za određivanje preduvjeta za izvršavanje određenog scenarija. Scenarij može sadržavati više od jednog datog iskaza ili ne može biti danog iskaza za scenarij.
Kada:
Ova se ključna riječ koristi za specificiranje radnje ili događaja koji je izvršio korisnik, poput klika na gumb, unosa podataka u okvir za tekst itd. U jednom scenariju može biti više izjava kada.
Zatim:
Tada se ključna riječ koristi za određivanje očekivanog ishoda radnje koju je izvršio korisnik. U idealnom slučaju, kada ključnu riječ mora slijediti ključna riječ Then da bi se razumio očekivani rezultat korisničkih radnji.
I:
A ključna riječ koristi se kao vezna riječ za kombiniranje više izjava. Na primjer, više se izjava Dano i Kada u scenariju može kombinirati pomoću ključne riječi 'I'.
# 3) Pregled scenarija:
Okvir scenarija način je parametrizacije scenarija.
To se idealno koristi kada isti scenarij treba izvršiti za više skupova podataka, ali koraci ispitivanja ostaju isti. Okvir scenarija mora slijediti ključna riječ 'Primjeri' koja određuje skup vrijednosti za svaki parametar.
Ispod je primjer za razumijevanje koncepta Okvira scenarija:
Primjer:
Pregled scenarija: Prenesite datoteku
S obzirom da je korisnik na zaslonu datoteke za prijenos.
Kada korisnik klikne gumb Pregledaj.
I korisnik ulazi u okvir za tekst za prijenos.
I korisnik klikne gumb za unos.
Zatim provjerava je li prijenos datoteka uspješan.
Primjeri:
| naziv datoteke |
| datoteka1 |
| datoteka2 |
Parametri unutar obrisa scenarija moraju se navesti sa znakovima ‘’. Popis vrijednosti podataka za parametar mora se navesti pomoću simbola Pipe (|).
# 4) Pozadina:
Ključna riječ pozadina koristi se za grupiranje više zadanih izjava u jednu grupu.
To se obično koristi kada se isti skup danih iskaza ponavlja u svakom scenariju datoteke značajke. Umjesto da zadane izjave za svaki scenarij navodite više puta, oni se mogu navesti s ključnom riječi 'Pozadina' prije prvog scenarija.
Primjer:
Pozadina:
Dati korisnik nalazi se na stranici za prijavu aplikacije
Prednosti okvira krastavca krastavca krastavaca
Dolje su navedene prednosti okvira krastavca krastavca koji krastavac čini idealnim izborom za brzo razvijajuću se agilnu metodologiju u današnjem korporativnom svijetu:
- Krastavac je alat otvorenog koda.
- Prikazivanje običnog teksta olakšava razumijevanje scenarija netehničkim korisnicima.
- Premošćuje jaz u komunikaciji između različitih dionika projekta, poput poslovnih analitičara, programera i osoblja za osiguranje kvalitete.
- Slučajevi automatizacije razvijeni pomoću alata Krastavac jednostavniji su za održavanje i razumijevanje.
- Lako se integrira s drugim alatima kao što su Selenium i Capybara.
Integracija krastavca sa selenom
Krastavac i selen dva su najsnažnija alata za funkcionalno ispitivanje. Integracija krastavca sa Selenium Webdriver pomaže raznim netehničkim članovima projektnog tima da razumiju tijek primjene.
Dolje su dati koraci koje treba slijediti za integraciju Krastavca sa Selenium Webdriver:
Korak 1:
Krastavac se može integrirati s Selenium Webdriver preuzimanjem potrebnih JAR datoteka.
Slijedi popis JAR datoteka koje treba preuzeti za korištenje Krastavca s Selenium Webdriver:
- pokrivenost-2.1.1.jar
- krastavac-jezgra-1.2.2.jar
- krastavac-java-1.2.2.jar
- krastavac-junit-1.2.2.jar
- krastavac-jvm-deps-1.0.3.jar
- krastavac-izvještavanje-0.1.0.jar
- kornišon-2.12.2.jar
- hamcrest-core-1.3.jar
- junit-4.11.jar
Gore navedene JAR datoteke mogu se preuzeti s Mavena web stranica .
Svaka od gore navedenih JAR datoteka mora se pojedinačno preuzeti s gornjeg web mjesta.
Korak 2:
Stvorite novi projekt u Eclipseu i dodajte gore navedene JAR datoteke u projekt. Da biste dodali JAR datoteke u projekt, desnom tipkom miša kliknite projekt -> Gradnja puta -> Konfiguriranje puta gradnje.
Kliknite na Dodajte vanjske JAR-ove gumb i dodajte popis gore navedenih JAR datoteka u projekt.
3. korak:
Prije stvaranja datoteka značajki i datoteka definicije koraka, moramo instalirati dodatak Natural u Eclipse. To se može učiniti kopiranjem i lijepljenjem datoteke URL na Pomoć -> Instaliranje novog softvera -> URL
Klikni na Sljedeći gumb za instaliranje dodatka u Eclipse.
Stvaranje datoteke značajke
Stvorite zasebne mape za datoteke značajki i datoteke definicije koraka u strukturi projekta. Datoteke definicije koraka uključuju Java kodirajuće linije, dok datoteka značajke sadrži engleske izjave u obliku Gherkin jezika.
top world of warcraft privatni poslužitelj
- Stvorite zasebnu mapu za spremanje datoteke značajki Desnim klikom na projekt -> Novo -> Paket .
- Datoteka značajke može se stvoriti pomicanjem desnog klika na projekt / paket -> Novo -> Datoteka .
- Navedite naziv datoteke značajki. Datoteku značajke mora pratiti ekstenzija .feature
- Struktura projekta mora izgledati kao struktura u nastavku.
Stvaranje datoteke definicije koraka
Svaki korak datoteke značajke mora se preslikati u odgovarajuću definiciju koraka. Oznake korištene u datoteci krastavca krastavca moraju se mapirati u definiciju koraka pomoću oznaka @Given, @When i @Then.
Slijedi sintaksa datoteke definicije koraka:
Sintaksa:
@TagName (“^ Ime koraka $”)
Javna void metodaName ()
{
Definicija metode
}
Imena koraka moraju imati prefiks sa simbolom karat (^) i sufiks sa simbolom ($). Naziv metode može biti bilo koje valjano ime koje je prihvatljivo prema Java standardima kodiranja. Definicija metode uključuje izjave kodiranja na Javi ili bilo kojem drugom programskom jeziku po izboru testera.
Primjeri datoteke značajke i datoteke definicije koraka
Za stvaranje datoteke značajki i datoteke definicije koraka može se koristiti sljedeći scenarij:
Scenarij:
- Otvorite stranicu za prijavu testiranog programa.
- Unesite korisničko ime
- Unesite lozinku
- Kliknite gumb Prijava.
- Provjerite je li prijava korisnika uspješna.
Datoteka značajke:
Gornji scenarij može se napisati u obliku datoteke značajki kao u nastavku:
Značajka: Prijavite se u testnu aplikaciju.
Scenarij: Prijavite se u aplikaciju.
S obzirom Otvorite preglednik Chrome i pokrenite aplikaciju.
Kada Korisnik unosi korisničko ime u polje UserName.
I Korisnik unosi lozinku u polje Lozinka.
Kada Korisnik klikne na gumb Prijava.
Datoteka definicije koraka:
U gornjoj značajki datoteka se može preslikati u odgovarajuću datoteku definicije koraka kao što je prikazano dolje. Imajte na umu da se mora osigurati veza između datoteke značajke i datoteke definicije koraka.
Ispod je prikaz datoteke definicije koraka prema njenoj datoteci značajki.
package com.sample.stepdefinitions; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import cucumber.api.java.en.And; import cucumber.api.java.en.Given; import cucumber.api.java.en.When; public class StepDefinition { WebDriver driver; @Given('^Open Chrome browser and launch the application$') public void openBrowser() { driver = new ChromeDriver(); driver.manage().window().maximize(); driver.get('www.facebook.com'); } @When('^User enters username onto the UserName field$') public void enterUserName() { driver.findElement(By.name('username')).sendKeys('test@demo.com'); } @And('^User enters password onto the Password field$') public void enterPassword() { driver.findElement(By.name('password')).sendKeys('test@123'); } @When('^User clicks on Login button$') public void clickOnLogin() { driver.findElement(By.name('loginbutton')).click(); } }
Klasa TestRunner koristi se za povezivanje između datoteke značajke i datoteke definicije koraka. Ispod je ogledni prikaz kako izgleda klasa TestRunner. Klasa TestRunner uglavnom je prazna klasa bez definicije klase.
Package com.sample.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 { }
Moramo pokrenuti datoteku klase TestRunner za izvršavanje datoteka značajki i datoteka definicije koraka.
Primjeri
Ispod je prikaz datoteke značajki različitih scenarija.
Primjer # 1:
Da biste provjerili jesu li korisničko ime i lozinka dostupni na stranici za prijavu:
Značajka: Provjerite prikaz polja korisničkog imena i lozinke na stranici za prijavu.
Scenarij: Da biste provjerili prikaz polja korisničkog imena i lozinke.
znak u niz c ++
S obzirom Korisnik otvara preglednik Firefox i kreće do aplikacije koja se testira.
Kada Korisnik dolazi do stranice za prijavu.
Zatim Provjerite prikaz polja korisničkog imena na stranici za prijavu.
I Provjerite prikaz polja s lozinkom na stranici za prijavu.
Primjer # 2:
Ispod je primjer ključne riječi za okvir scenarija u krastavcu krastavca:
Značajka: Provjerite je li prijava uspješna za više skupova test podataka.
Pregled scenarija: Da biste provjerili je li prijava uspješna za više skupova test podataka.
S obzirom Otvorite preglednik Chrome i pokrenite aplikaciju.
Kada Korisnik ulazi u polje UserName.
I Korisnik ulazi u polje Lozinka.
Kada Korisnik klikne na gumb Prijava.
Primjeri:
| korisničko ime | lozinka |
| korisnik1 | lozinka1 |
| korisnik2 | lozinka2 |
Zaključak
- BDD je metodologija za razumijevanje funkcionalnosti aplikacije u jednostavnom predstavljanju u običnom tekstu.
- Krastavac je alat koji za razvoj testova prihvaćanja aplikacije koristi razvoj usmjeren na ponašanje. Koristi se za premošćivanje komunikacijskog jaza između različitih dionika projekta.
- Glavna upotreba krastavca leži u jednostavnosti razumijevanja upotrebe datoteka značajki od strane netehničkih korisnika.
Još nije kasno da isprobate ovaj alat Krastavac koristeći Gherkin jezik.
Preporučena literatura
- Geb vodič - Ispitivanje automatizacije preglednika pomoću alata Geb
- Vodič za krastavac selenij: Integracija Java Selenium WebDriver krastavaca
- Ispitivanje automatizacije pomoću alata krastavaca i selena - Vodič br. 30
- Što je ispitivanje automatizacije (konačni vodič za pokretanje automatizacije ispitivanja)
- Vodič za Spock: Testiranje sa Spockom i Groovyjem
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)
- Vodič za ispitivanje razaranja i ispitivanja bez razaranja
- Funkcionalno ispitivanje vs nefunkcionalno testiranje