cucumber gherkin tutorial
Acest tutorial informativ explică avantajele cadrului de castravete Gherkin și cum se scriu scripturi de automatizare folosind limbajul Gherkin cu exemple clare:
Castravetele este un instrument bazat pe cadrul de dezvoltare a comportamentului (BDD). BDD este o metodologie pentru a înțelege funcționalitatea unei aplicații în reprezentarea simplă a textului simplu.
Scopul principal al cadrului de dezvoltare condusă de comportament este de a face ca diferite roluri de proiect, cum ar fi analistii de afaceri, asigurarea calității, dezvoltatorii, etc. să înțeleagă aplicația fără a se adânci în aspectele tehnice.
Instrumentul pentru castraveți este utilizat în general în timp real pentru a scrie teste de acceptare a unei aplicații. Instrumentul Castravete oferă suport pentru multe limbaje de programare, cum ar fi Java, Ruby, .Net, etc. Poate fi integrat cu mai multe instrumente precum Selenium, Capybara etc.
Ce veți învăța:
- Ce este Gherkin?
- Avantajele cadrului de castraveți de castravete
- Integrarea castravetelor cu seleniu
- Concluzie
Ce este Gherkin?
Cucerit este limbajul folosit de instrumentul Castravete. Este o simplă reprezentare în limba engleză a comportamentului aplicației. Castravetele utilizează conceptul de fișiere de caracteristici în scopuri de documentare. Conținutul din fișierele de caracteristici este scris în limba Gherkin.
În următoarele subiecte, vom vedea mai multe despre avantajele cadrului Cucher Gherkin, Integrarea Castravetelui cu Seleniu, Crearea unui fișier de caracteristici și a fișierului de definiție a pasului corespunzător și a unui fișier de caracteristici eșantion.
Termeni comuni pentru Cadru Castravete
Cadrul Cucumber Gherkin folosește anumite cuvinte cheie care sunt esențiale pentru scrierea unui fișier de caracteristici.
Următorii termeni sunt utilizați cel mai frecvent în fișierele de caracteristici:
# 1) Caracteristică:
Un fișier de caracteristici trebuie să furnizeze o descriere la nivel înalt a unei aplicații sub test (AUT). Prima linie a fișierului de caracteristici trebuie să înceapă cu cuvântul cheie „Caracteristică” după descriereao aplicatieîn testare. Conform standardelor prescrise de Cucumber, fișierul de caracteristici trebuie să includă următoarele trei elemente ca prima linie.
- Cuvânt cheie funcțional
- Nume caracteristică
- Descrierea caracteristicii (opțional)
Cuvântul cheie caracteristică trebuie să fie urmat de un nume de caracteristică. Poate include o secțiune de descriere opțională care poate cuprinde mai multe linii ale fișierului de caracteristici. Un fișier de caracteristici are extensia .feature.
# 2) Scenariu:
Un scenariu este o specificație de testare a funcționalității de testat. În mod ideal, un fișier de caracteristici poate conține unul sau mai multe scenarii ca parte a caracteristicii. Un scenariu include mai mulți pași de testare. Conform standardelor de castravete, un scenariu trebuie să includă 3-5 pași de testare, deoarece scenariile lungi tind să-și piardă puterea expresivă odată cu creșterea numărului de pași.
Un scenariu poate include următorii pași:
- Acțiune care trebuie efectuată de un utilizator.
- Rezultatele așteptate ale acțiunii.
În limba Gherkin, un scenariu trebuie să includă următoarele cuvinte cheie:
- Dat
- Când
- Atunci
- Și
Dat:
Cuvântul cheie dat este utilizat pentru a specifica condițiile prealabile pentru executarea unui scenariu specific. Un scenariu poate include mai multe declarații date sau nu poate exista declarații date pentru un scenariu.
Când:
Acest cuvânt cheie este utilizat pentru a specifica acțiunea sau un eveniment efectuat de utilizator, cum ar fi clic pe un buton, introducerea datelor în caseta de text etc. Pot fi multiple declarații atunci când într-un singur scenariu.
Atunci:
Apoi, cuvântul cheie este utilizat pentru a specifica rezultatul așteptat al unei acțiuni efectuate de utilizator. În mod ideal, atunci când cuvântul cheie trebuie să fie urmat de cuvântul cheie Then pentru a înțelege rezultatul scontat al acțiunilor utilizatorului.
Și:
Și cuvântul cheie este folosit ca cuvânt cheie conjuncție pentru a combina mai multe afirmații. De exemplu, declarațiile multiple date și când într-un scenariu pot fi combinate folosind cuvântul cheie „Și”.
# 3) Schița scenariului:
O schiță a scenariului este o modalitate de parametrizare a scenariilor.
Acest lucru este utilizat în mod ideal atunci când același scenariu trebuie executat pentru mai multe seturi de date, dar pașii de testare rămân aceiași. Schema scenariului trebuie să fie urmată de cuvântul cheie „Exemple”, care specifică setul de valori pentru fiecare parametru.
Mai jos este un exemplu pentru a înțelege conceptul de scenariu:
Exemplu:
Schița scenariului: Incarca un fisier
Dat că un utilizator se află pe ecranul de încărcare a fișierului.
Când utilizatorul face clic pe butonul Răsfoire.
Și utilizatorul intră în caseta text de încărcare.
Și utilizatorul face clic pe butonul Enter.
Atunci verifică dacă încărcarea fișierelor are succes.
Exemple:
| nume fișier |
| fișier1 |
| fișier2 |
Parametrii din cadrul schemei scenariului trebuie specificate cu caracterele „”. O listă de valori de date pentru parametru trebuie specificată folosind simbolul Pipe (|).
# 4) Context:
Cuvântul cheie de fundal este utilizat pentru a grupa mai multe declarații date într-un singur grup.
Acest lucru este utilizat în general atunci când același set de instrucțiuni date se repetă în fiecare scenariu al unui fișier de caracteristici. În loc de a specifica în mod repetat declarațiile date pentru fiecare scenariu, acestea pot fi specificate cu cuvântul cheie „Fundal” înainte de primul scenariu.
Exemplu:
Fundal:
Utilizatorul dat se află pe pagina de autentificare a aplicației
Avantajele cadrului de castraveți de castravete
Prezentate mai jos sunt avantajele cadrului Cucumber Gherkin care fac din Castravete o alegere ideală pentru o metodologie Agile care evoluează rapid în lumea corporativă de astăzi:
- Castravetele este un instrument open-source.
- Reprezentarea în text simplu facilitează înțelegerea scenariilor pentru utilizatorii non-tehnici.
- Acoperă decalajul de comunicare dintre diferiții actori ai proiectului, cum ar fi analistii de afaceri, dezvoltatorii și personalul de asigurare a calității.
- Testele de automatizare dezvoltate folosind instrumentul Castravete sunt mai ușor de întreținut și de înțeles.
- Ușor de integrat cu alte instrumente precum Seleniu și Capibara.
Integrarea castravetelor cu seleniu
Castravetele și seleniul sunt cele mai puternice două instrumente funcționale de testare. Integrarea castraveților cu Selenium Webdriver ajută diverși membri non-tehnici ai unei echipe de proiect să înțeleagă fluxul de aplicații.
Mai jos sunt pașii care trebuie urmați pentru integrarea Castravetelui cu Selenium Webdriver:
Pasul 1:
Castravetele poate fi integrat cu Selenium Webdriver descărcând fișierele JAR necesare.
Mai jos este lista fișierelor JAR care urmează să fie descărcate pentru utilizarea Castravetelui cu Selenium Webdriver:
- acoperire-2.1.1.jar
- castravete-miez-1.2.2.jar
- castravete-java-1.2.2.jar
- castravete-junit-1.2.2.jar
- castravete-jvm-deps-1.0.3.jar
- castravete-raportare-0.1.0.jar
- pepene verde-2.12.2.jar
- hamcrest-core-1.3.jar
- junit-4.11.jar
Fișierele JAR de mai sus pot fi descărcate de pe Maven site-ul web .
Fiecare dintre fișierele JAR de mai sus trebuie descărcate individual de pe site-ul web de mai sus.
Pasul 2:
Creați un proiect nou în Eclipse și adăugați fișierele JAR de mai sus la proiect. Pentru a adăuga fișierele JAR la proiect, faceți clic dreapta pe proiect -> Construiți calea -> Configurați calea de construire.
Click pe Adăugați JAR-uri externe butonul și adăugați lista fișierelor JAR de mai sus la proiect.
Pasul 3:
Înainte de a crea fișierele de caracteristici și fișierele de definire a pașilor, trebuie să instalăm un plugin Natural în Eclipse. Se poate face prin copierea și lipirea fișierului URL pe Ajutor -> Instalare software nou -> URL
Faceți clic pe Butonul Următor pentru a instala pluginul în Eclipse.
Crearea unui fișier de caracteristici
Creați dosare separate pentru fișierele de caracteristici și fișierele de definire a pașilor în structura proiectului. Fișierele de definire a etapelor includ linii de codare Java, în timp ce fișierul de caracteristici conține declarații în limba engleză sub forma limbajului Gherkin.
- Creați un folder separat pentru stocarea fișierului de caracteristici făcând clic dreapta pe proiect -> Nou -> Pachet .
- Fișierul de caracteristici poate fi creat navigând la Clic dreapta pe proiect / pachet -> Nou -> Fișier .
- Furnizați un nume pentru fișierul de caracteristici. Fișierul de caracteristici trebuie să fie urmat de extensia .feature
- Structura proiectului trebuie să arate ca structura de mai jos.
Crearea unui fișier de definiție pas
Fiecare pas al fișierului de caracteristici trebuie mapat la o definiție de pas corespunzătoare. Etichetele folosite în fișierul Cucumber Gherkin trebuie mapate la definiția pașilor săi folosind etichetele @Given, @When și @Then.
Următoarea este sintaxa unui fișier de definire a pașilor:
Sintaxă:
@TagName („^ Numele pasului $”)
Public void methodName ()
{
Definirea metodei
}
cele mai populare instrumente de analiză big data
Numele de pași trebuie să fie prefixate cu simbolul carat (^) și sufixate cu simbolul ($). Numele metodei poate fi orice nume valid care este acceptabil conform standardelor de codare Java. Definiția metodei include declarații de codare în Java sau orice alt limbaj de programare la alegerea testerului.
Exemplu de fișiere de caracteristici și definiții de pași
Pentru crearea fișierului de caracteristici și a fișierului de definire a pașilor, se poate utiliza următorul scenariu:
Scenariu:
- Deschideți pagina de autentificare a unei aplicații supuse testului.
- Introduceți numele de utilizator
- Introduceți parola
- Faceți clic pe butonul Login.
- Verificați dacă autentificarea utilizatorului are succes.
Fișier caracteristică:
Scenariul de mai sus poate fi scris sub forma unui fișier de caracteristici după cum urmează:
Caracteristică: Conectați-vă la o aplicație testată.
Scenariu: Conectați-vă la aplicație.
Dat Deschideți browserul Chrome și lansați aplicația.
Când Utilizatorul introduce numele de utilizator în câmpul UserName.
Și Utilizatorul introduce o parolă în câmpul Parolă.
Când Utilizatorul face clic pe butonul Login.
Fișier definiție pas:
În caracteristica de mai sus, un fișier poate fi mapat la fișierul său de definiție pas corespunzător, așa cum se arată mai jos. Vă rugăm să rețineți că, pentru a oferi o legătură între fișierul de caracteristici și fișierul de definire a pașilor, trebuie creat un fișier de test runner.
Mai jos este reprezentarea fișierului de definire a pașilor conform fișierului său de caracteristici.
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(); } }
Clasa TestRunner este utilizată pentru a furniza legătura dintre fișierul de caracteristici și fișierul de definire a pașilor. Mai jos este exemplul de reprezentare a modului în care arată clasa TestRunner. O clasă TestRunner este în general o clasă goală fără definiție de clasă.
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 { }
Trebuie să rulăm fișierul clasei TestRunner pentru executarea fișierelor de caracteristici și a fișierelor de definire a pașilor.
Exemple
Mai jos este reprezentarea fișierului de caracteristici a diferitelor scenarii.
Exemplul nr. 1:
Pentru a verifica dacă numele de utilizator și parola sunt disponibile pe pagina de autentificare:
Caracteristică: Verificați afișarea câmpurilor de nume de utilizator și parolă pe o pagină de conectare.
Scenariu: Pentru a verifica afișarea câmpurilor de nume de utilizator și parolă.
Dat Utilizatorul deschide browserul Firefox și navighează la aplicația sub test.
Când Utilizatorul navighează la o pagină de autentificare.
Atunci Verificați afișarea câmpului nume de utilizator pe pagina de autentificare.
Și Verificați afișarea câmpului parolei pe pagina de autentificare.
Exemplul nr. 2:
Mai jos este exemplul pentru cuvântul cheie al scenariului din Castravete Castravete:
Caracteristică: Verificați dacă autentificarea are succes pentru mai multe seturi de date de testare.
Schița scenariului: Pentru a verifica dacă autentificarea are succes pentru mai multe seturi de date de testare.
Dat Deschideți browserul Chrome și lansați aplicația.
Când Utilizatorul intră în câmpul UserName.
Și Utilizatorul intră în câmpul Parolă.
Când Utilizatorul face clic pe butonul Login.
Exemple:
| nume de utilizator | parolă |
| utilizator1 | parolă1 |
| utilizator2 | parolă2 |
Concluzie
- BDD este o metodologie pentru a înțelege funcționalitatea unei aplicații în reprezentarea simplă a textului simplu.
- Castravetele este un instrument care folosește Behavior Driven Development pentru a scrie teste de acceptare a unei aplicații. Este folosit pentru a acoperi decalajul de comunicare dintre diferiții actori ai proiectului.
- Principala utilizare a Castravetelui constă în simplitatea sa de a înțelege utilizarea fișierelor de caracteristici de către utilizatori non-tehnici.
Nu este prea târziu să încercați acest instrument Castravete folosind limbajul Gherkin.
Lectură recomandată
- Tutorial Geb - Testarea automatizării browserului folosind instrumentul Geb
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- Testarea automatizării folosind instrumentul Castravete și Seleniu - Tutorial Seleniu # 30
- Ce este testarea automatizării (Ghidul final pentru a începe automatizarea testelor)
- Tutorial Spock: Testare cu Spock și Groovy
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Tutorial de testare distructivă și testare nedistructivă
- Testarea funcțională Vs testarea non-funcțională