cucumber gherkin tutorial
Tento informatívny tutoriál vysvetľuje výhody rámca uhorky Gherkin a ako písať automatizačné skripty pomocou jazyka Gherkin s jasnými príkladmi:
Uhorka je nástroj založený na rámci BDD (Behavior Driven Development). BDD je metodika na pochopenie funkčnosti aplikácie v jednoduchej reprezentácii obyčajného textu.
Hlavným cieľom vývojového rámca Behavior Driven Development je dosiahnuť, aby rôzne projektové úlohy, ako sú obchodní analytici, zabezpečovanie kvality, vývojári atď., Porozumeli aplikácii bez toho, aby sme sa ponorili hlboko do technických aspektov.
Nástroj na uhorky sa zvyčajne používa v reálnom čase na zápis akceptačných testov aplikácie. Nástroj uhorka poskytuje podporu mnohým programovacím jazykom, ako sú Java, Ruby, .Net atď. Môže byť integrovaný s viacerými nástrojmi, ako sú selén, kapybara atď.
Čo sa dozviete:
Čo je to okurka?
Gherkin je jazyk používaný v nástroji Cucumber. Je to jednoduchá anglická reprezentácia správania aplikácie. Uhorka používa na účely dokumentácie koncept súborov funkcií. Obsah v súboroch funkcií je napísaný v jazyku Gherkin.
V nasledujúcich témach uvidíme viac informácií o výhodách rámca Cucumber Gherkin, integrácii uhorky so selénom, vytvorení súboru funkcií a zodpovedajúceho súboru definície krokov a vzorového súboru funkcií.
Všeobecné podmienky rámca pre uhorky okurky
Rámec Cucumber Gherkin používa určité kľúčové slová, ktoré sú nevyhnutné pre zápis súboru funkcií.
V súboroch funkcií sa najčastejšie používajú nasledujúce výrazy:
# 1) Funkcia:
Súbor funkcií musí obsahovať podrobný popis testovanej aplikácie (AUT). Prvý riadok súboru funkcií musí začínať kľúčovým slovom „Feature“ nasledujúcim po opiseaplikáciav teste. Podľa štandardov predpísaných spoločnosťou Cucumber musí súbor funkcií obsahovať nasledujúce tri prvky ako prvý riadok.
- Kľúčové slovo funkcie
- Názov funkcie
- Popis funkcie (voliteľné)
Za kľúčovým slovom funkcie musí nasledovať názov funkcie. Môže obsahovať voliteľnú časť popisu, ktorá sa môže rozprestierať na viacerých riadkoch súboru funkcií. Súbor funkcií má príponu .feature.
# 2) Scenár:
aký je najlepší prevodník z youtube na mp3?
Scenár je testovacia špecifikácia funkčnosti, ktorá sa má testovať. V ideálnom prípade môže súbor funkcie obsahovať jeden alebo viac scenárov ako súčasť funkcie. Scenár obsahuje viac testovacích krokov. Podľa uhorkových štandardov musí scenár obsahovať 3 - 5 testovacích krokov, pretože zdĺhavé scenáre majú tendenciu strácať svoju expresívnu silu, akonáhle sa počet krokov zvýši.
Scenár môže obsahovať nasledujúce kroky:
- Akcia, ktorú má vykonať používateľ.
- Očakávané výsledky akcie.
V jazyku Gherkin musí scenár obsahovať nasledujúce kľúčové slová:
- Dané
- Kedy
- Potom
- A
Dané:
Dané kľúčové slovo sa používa na zadanie predpokladov pre vykonanie konkrétneho scenára. Scenár môže obsahovať viac ako jedno dané vyhlásenie alebo pre scenár nemôžu existovať žiadne dané vyhlásenia.
Kedy:
Toto kľúčové slovo sa používa na špecifikáciu akcie alebo udalosti vykonanej používateľom, ako je kliknutie na tlačidlo, zadanie údajov do textového poľa atď. V jednom scenári môže byť aj viac príkazov.
Potom:
Potom sa kľúčové slovo použije na určenie očakávaného výsledku akcie vykonanej používateľom. V ideálnom prípade musí po kľúčovom slove nasledovať kľúčové slovo Then, aby ste pochopili očakávaný výsledok akcií používateľa.
A:
A kľúčové slovo sa používa ako kľúčové slovo spojky na kombinovanie viacerých príkazov. Napríklad, viac výrokov Given a When v scenári je možné kombinovať pomocou kľúčového slova ‘And’.
# 3) Osnova scenára:
Osnova scenára je spôsob parametrizácie scenárov.
Toto je ideálne použiť, keď je potrebné vykonať ten istý scenár pre viac súborov dát, ale kroky testu zostávajú rovnaké. Za obrysom scenára musí nasledovať kľúčové slovo „Príklady“, ktoré špecifikuje množinu hodnôt pre každý parameter.
Nižšie uvádzame príklad na pochopenie koncepcie Scenár osnovy:
Príklad:
Osnova scenára: Nahrajte súbor
Dané že je užívateľ na obrazovke nahrávania súborov.
Kedy používateľ klikne na tlačidlo Prehľadávať.
A užívateľ vstúpi do upload textového poľa.
A používateľ klikne na tlačidlo Enter.
Potom overuje, či je nahrávanie súboru úspešné.
Príklady:
| názov súboru |
| súbor1 |
| súbor2 |
Parametre v rámci obrysu scenára musia byť špecifikované znakmi „“. Zoznam údajových hodnôt pre parameter musí byť zadaný pomocou symbolu potrubia (|).
# 4) Pozadie:
Kľúčové slovo na pozadí sa používa na zoskupenie viacerých zadaných príkazov do jednej skupiny.
Spravidla sa to používa, keď sa v každom scenári súboru funkcií opakuje rovnaká sada daných príkazov. Namiesto opakovaného zadávania uvedených príkazov pre každý scenár ich je možné pred prvým scenárom zadať pomocou kľúčového slova „Pozadie“.
Príklad:
Pozadie:
Daný užívateľ je na prihlasovacej stránke aplikácie
Výhody rámca uhorky okurky
Ďalej sú uvedené výhody rámca Cucumber Gherkin, vďaka ktorým je Cucumber ideálnou voľbou pre rýchlo sa rozvíjajúcu agilnú metodológiu v dnešnom podnikovom svete:
- Uhorka je nástroj otvoreného zdroja.
- Reprezentácia obyčajného textu uľahčuje netechnickým používateľom pochopiť scenáre.
- Preklenuje komunikačnú priepasť medzi rôznymi účastníkmi projektu, ako sú obchodní analytici, vývojári a pracovníci zabezpečovania kvality.
- Údržba a pochopenie automatických testovacích prípadov vyvinutých pomocou nástroja Okurka je ľahšia.
- Ľahko sa integruje s inými nástrojmi, ako sú selén a kapybara.
Integrácia uhorky so selénom
Uhorka a selén sú dva najvýkonnejšie funkčné testovacie nástroje. Integrácia uhorky so selénovým Webdriverom pomáha rôznym netechnickým členom projektového tímu porozumieť toku aplikácií.
Ďalej sú uvedené kroky, ktoré treba podniknúť pri integrácii Cucumber so selénom Webdriver:
Krok 1:
Uhorku je možné integrovať do selénového webového ovládača stiahnutím potrebných súborov JAR.
Ďalej je uvedený zoznam súborov JAR, ktoré sa majú stiahnuť na použitie programu Cucumber with Selenium Webdriver:
- pokrytie-2.1.1.jar
- uhorka-jadro-1.2.2.jar
- uhorka-java-1.2.2.jar
- uhorka-junit-1.2.2.jar
- cucumber-jvm-deps-1.0.3.jar
- uhorka-reporting-0.1.0.jar
- uhorka-2.12.2.jar
- hamcrest-core-1.3.jar
- junit-4.11.jar
Vyššie uvedené súbory JAR je možné stiahnuť z Maven webovú stránku .
Každý z vyššie uvedených súborov JAR musí byť stiahnutý jednotlivo z vyššie uvedenej webovej stránky.
Krok 2:
Vytvorte nový projekt v Eclipse a pridajte do projektu vyššie uvedené súbory JAR. Ak chcete do projektu pridať súbory JAR, kliknite pravým tlačidlom myši na ikonu projekt -> Cesta zostavy -> Konfigurovať cestu zostavy.
Kliknite na Pridajte externé súbory JAR a pridajte do projektu zoznam vyššie uvedených súborov JAR.
Krok č. 3:
Pred vytvorením súborov funkcií a súborov definícií krokov musíme do Eclipse nainštalovať doplnok Natural. Dá sa to skopírovať a prilepiť URL na Pomocník -> Inštalovať nový softvér -> URL
Klikni na Tlačidlo Ďalej nainštalovať doplnok do Eclipse.
Vytvorenie súboru funkcií
V štruktúre projektu vytvorte samostatné priečinky pre súbory prvkov a súbory definícií krokov. Súbory s definičnými krokmi obsahujú riadky kódovania Java, zatiaľ čo súbor funkcií obsahuje výroky v angličtine v jazyku Gherkin.
- Kliknutím pravým tlačidlom myši na projekt -> vytvorte samostatný priečinok na ukladanie súborov funkcií Nové -> Balíček .
- Súbor funkcií je možné vytvoriť prechodom na pravé tlačidlo myši na projekt / balík -> Nové -> Súbor .
- Zadajte názov súboru funkcií. Za súborom funkcií musí nasledovať prípona .feature
- Štruktúra projektu musí vyzerať ako štruktúra uvedená nižšie.
Vytvorenie súboru s definíciou kroku
Každý krok súboru funkcií musí byť namapovaný na zodpovedajúcu definíciu kroku. Značky použité v súbore Cucumber Gherkin musia byť namapované na definíciu kroku pomocou značiek @Given, @When a @Then.
Toto je syntax súboru definície krokov:
Syntax:
@TagName („^ Názov kroku $“)
Public void methodName ()
{
Definícia metódy
}
Názvy krokov musia mať predponu so symbolom karát (^) a predponu so symbolom ($). Názov metódy môže byť akýkoľvek platný názov, ktorý je prijateľný podľa štandardov kódovania Java. Definícia metódy zahŕňa programovacie príkazy v Jave alebo inom programovacom jazyku podľa výberu testera.
Príklady súborov hlavných súborov a definícií krokov
Na vytvorenie súboru funkcií a súboru definícií krokov je možné použiť nasledujúci scenár:
Scenár:
- Otvorte prihlasovaciu stránku testovanej aplikácie.
- Zadajte užívateľské meno
- Zadajte heslo
- Kliknite na tlačidlo Prihlásiť sa.
- Skontrolujte, či je prihlásenie používateľa úspešné.
Súbor funkcií:
Vyššie uvedený scenár je možné napísať vo forme súboru funkcií, ako je uvedené nižšie:
Funkcia: Prihláste sa do testovanej aplikácie.
Scenár: Prihláste sa do aplikácie.
Dané Otvorte prehliadač Chrome a spustite aplikáciu.
Kedy Používateľ zadá používateľské meno do poľa UserName.
A Používateľ zadá heslo do poľa Heslo.
Kedy Užívateľ klikne na tlačidlo Prihlásiť sa.
Súbor s definíciou kroku:
Vo vyššie uvedenej funkcii je možné súbor namapovať na zodpovedajúci definičný súbor kroku, ako je uvedené nižšie. Upozorňujeme, že na zabezpečenie prepojenia medzi súborom funkcií a súborom definícií krokov je potrebné vytvoriť súbor testovacieho bežca.
Nižšie je znázornený súbor definície krokov podľa jeho súboru funkcií.
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(); } }
Trieda TestRunner sa používa na zabezpečenie prepojenia medzi súborom funkcií a súborom definícií krokov. Ďalej je uvedené ukážka toho, ako vyzerá trieda TestRunner. Trieda TestRunner je zvyčajne prázdna trieda bez definície triedy.
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 { }
Musíme spustiť súbor triedy TestRunner na vykonávanie súborov funkcií a súborov definícií krokov.
Príklady
Ďalej je znázornený súbor funkcií s rôznymi scenármi.
Príklad č. 1:
najlepší bezplatný čistič registrov pre Windows 10
Overenie, či je používateľské meno a heslo k dispozícii na prihlasovacej stránke:
Funkcia: Overte zobrazenie polí používateľského mena a hesla na prihlasovacej stránke.
Scenár: Na overenie zobrazenia polí používateľského mena a hesla.
Dané Užívateľ otvorí prehliadač Firefox a prejde na Testovanú aplikáciu.
Kedy Užívateľ prejde na prihlasovaciu stránku.
Potom Skontrolujte prihlasovacie meno na prihlasovacej stránke.
A Overte zobrazenie poľa pre heslo na prihlasovacej stránke.
Príklad č. 2:
Nasleduje príklad kľúčového slova pre obrys scenára v Cucumber Gherkin:
Funkcia: Overte, či je prihlásenie úspešné pre viac súborov testovacích údajov.
Osnova scenára: Overiť, či je prihlásenie úspešné pre viac súborov testovacích údajov.
Dané Otvorte prehliadač Chrome a spustite aplikáciu.
Kedy Používateľ zadá do poľa Meno používateľa.
A Používateľ zadá do poľa Heslo.
Kedy Užívateľ klikne na tlačidlo Prihlásiť sa.
Príklady:
| používateľské meno | heslo |
| user1 | heslo1 |
| user2 | heslo2 |
Záver
- BDD je metodika na pochopenie funkčnosti aplikácie v jednoduchej reprezentácii obyčajného textu.
- Cucumber je nástroj, ktorý využíva vývoj založený na správaní a je založený na písaní testov prijatia aplikácie. Používa sa na preklenutie komunikačnej medzery medzi rôznymi účastníkmi projektu.
- Hlavné použitie uhorky spočíva v jej jednoduchosti pochopiť použitie súborov funkcií netechnickými používateľmi.
Nie je neskoro vyskúšať tento nástroj Uhorka v jazyku Gherkin.
Odporúčané čítanie
- Výukový program Geb - Testovanie automatizácie prehľadávača pomocou nástroja Geb
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Automatizačné testovanie pomocou nástroja Cucumber Tool a selénu - selén - návod č. 30
- Čo je to Automation Testing (Ultimate Guide to Start Test Automation)
- Výukový program pre Spock: Testovanie s programom Spock a Groovy
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Výukový program pre deštruktívne testovanie a nedeštruktívne testovanie
- Funkčné testovanie vs. Nefunkčné testovanie