automation testing using cucumber tool
V minulom výučbe selénu sme vám predstavili Selénová mriežka ktorý je do distribuované vykonávanie testu prostredie na urýchlenie vykonania testovacieho testu .
Teraz sa na konci tejto komplexnej série školení o seléne učíme pokročilým spôsobom Testovanie selénu a súvisiace pojmy.
V tomto a nasledujúcom návode vám predstavíme Uhorka - a Behaviorálny vývojový rámec (BDD), ktorý sa používa so selénom na vykonávanie akceptačných testov.
Čo sa dozviete:
Uhorka Úvod
Uhorka je nástroj založený na rámci BDD (Behavior Driven Development), ktorý sa používa na písanie akceptačných testov pre webovú aplikáciu. Umožňuje automatizáciu funkčnej validácie v ľahko čitateľnom a zrozumiteľnom formáte (napríklad v jednoduchej angličtine) pre obchodných analytikov, vývojárov, testerov atď.
Súbory s uhorkami môžu slúžiť ako dobrý dokument pre všetkých. Existuje mnoho ďalších nástrojov, ako je JBehave, ktoré tiež podporujú rámec BDD. Spočiatku bola Cucumber implementovaná v Ruby a potom rozšírená na rámec Java. Oba nástroje podporujú natívny JUnit.
Behavior Driven Development je rozšírením Test Driven Development a slúži skôr na testovanie systému ako na testovanie konkrétnej časti kódu. Budeme viac diskutovať o BDD a štýle písania BDD testov.
Uhorka môže byť použitá spolu so selénom, Watirom a Capybarou atď. Uhorka podporuje mnoho ďalších jazykov ako Perl, PHP, Python, Net atď. V tomto tutoriále sa zameriame na Uhorku s jazykom Java.
Základy uhorky
Aby sme uhorke porozumeli, musíme poznať všetky vlastnosti uhorky a jej využitie.
otázky a odpovede na otázky týkajúce sa automatizácie selénu
# 1) Súbory funkcií:
Súbory funkcií sú podstatnou súčasťou uhorky, ktorá sa používa na zápis krokov automatizácie testov alebo prijímacích testov. Toto je možné použiť ako aktívny dokument. Kroky sú špecifikáciou aplikácie. Všetky súbory funkcií končia príponou .feature.
Vzorový súbor funkcií:
Funkcia : Funkcia prihlásenia
S cieľom zabezpečiť funkčnosť prihlásenia,
Chcem spustiť test na uhorku a overiť, či funguje
Scenár : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETETINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako „USER“ a hesla „PASSWORD“
Potom prihlásenie by malo byť úspešné
Scenár : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETETINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako „USER1“ a hesla „PASSWORD1“
Potom chybové hlásenie by malo byť vyhodené
# 2) Funkcia:
T poskytuje informácie o podnikovej funkčnosti na vysokej úrovni (pozri predchádzajúci príklad) a účele testovanej aplikácie. Každý by mal byť schopný pochopiť zámer súboru funkcií prečítaním prvého kroku funkcie. Táto časť je v zásade stručná.
# 3) Scenár:
Scenár v zásade predstavuje konkrétnu funkcionalitu, ktorá je testovaná. Pri pohľade na scenár by mal byť používateľ schopný pochopiť zámer, ktorý za scenárom stojí, a o čom je test. Každý scenár by sa mal riadiť daným, kedy a potom formátom. Tento jazyk sa nazýva „uhorka“.
- Dané: Ako už bolo uvedené vyššie, dané špecifikuje predbežné podmienky. Je to v podstate známy stav.
- Kedy : Používa sa, keď sa má vykonať nejaká akcia. Rovnako ako v predchádzajúcom príklade sme videli, že keď sa používateľ pokúsi prihlásiť pomocou používateľského mena a hesla, stane sa z neho akcia .
- Potom: Tu by sa mal uviesť očakávaný výsledok alebo výsledok. Pre príklad: overte, či je prihlásenie úspešné, úspešná navigácia po stránke.
- Pozadie: Kedykoľvek je potrebné vykonať akýkoľvek krok v každom scenári, je potrebné tieto kroky umiestniť na pozadie. Napríklad: Ak používateľ potrebuje vyčistiť databázu pred každým scenárom, tieto kroky je možné umiestniť na pozadí.
- A : Používa sa na kombinovanie dvoch alebo viacerých rovnakých typov akcií.
Príklad:
Funkcia : Funkcia prihlásenia
Scenár : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETETINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako „USER“
A heslo ako „heslo“
Potom prihlásenie by malo byť úspešné
A Mala by sa zobraziť domovská stránka
zásobník dátová štruktúra c ++
Príklad pozadia:
Pozadie:
Dané používateľ prihlásený ako správca databáz
A všetky nevyžiadané hodnoty sú vymazané
# 4) Osnova scenára:
Obrysy scenára sa používajú, keď sa musí vykonať ten istý test s rôznymi súbormi údajov. Zoberme si rovnaký príklad. Musíme otestovať funkčnosť prihlásenia s niekoľkými rôznymi sadami používateľského mena a hesla.
Funkcia : Funkcia prihlásenia
S cieľom zabezpečiť funkčnosť prihlásenia,
Chcem spustiť test na uhorku a overiť, či funguje
Osnova scenára : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETESTINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako< používateľské meno > a heslo< heslo >
Potom prihlásenie by malo byť úspešné
Príklady:
| používateľské meno | heslo |
| Tom | heslo1 |
| Harry | heslo2 |
| Jerry | heslo3 |
Poznámka:
- Ako je uvedené v príklade vyššie, názvy stĺpcov sa odovzdávajú ako parameter Kedy vyhlásenie.
- Namiesto scenára musíte použiť osnovu scenára.
- Príklady sa používajú na odovzdanie rôznych argumentov v tabuľkovom formáte. Na oddelenie dvoch rôznych stĺpov sa používajú zvislé rúry. Príklad môže obsahovať veľa rôznych stĺpcov.
# 5) Značky:
Uhorka predvolene spúšťa všetky scenáre vo všetkých súboroch funkcií. V projektoch v reálnom čase môžu existovať stovky súborov funkcií, ktorých spustenie sa nevyžaduje vždy.
Napríklad : Súbory funkcií súvisiace s testom dymu nemusia byť spustené neustále. Takže ak v každom súbore funkcií spomeniete značku ako bezdymovú, ktorá súvisí s testom dymu, a spustí sa test uhorky so značkou @SmokeTest. Uhorka spustí iba tie súbory funkcií, ktoré sú špecifické pre dané značky. Postupujte podľa nižšie uvedeného príkladu. V jednom súbore funkcií môžete určiť viac značiek.
Príklad použitia jednotlivých značiek:
@SmokeTest
Funkcia : Funkcia prihlásenia
S cieľom zabezpečiť funkčnosť prihlásenia,
Chcem spustiť test na uhorku a overiť, či funguje
Osnova scenára : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETESTINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako< používateľské meno > a heslo< heslo >
Potom prihlásenie by malo byť úspešné
Príklady:
| používateľské meno | heslo |
| Tom | heslo1 |
| Harry | heslo2 |
| Jerry | heslo3 |
Príklad použitia viacerých značiek:
Ako je uvedené v nasledujúcom príklade, rovnaký súbor funkcií je možné použiť pre scenáre dymových testov aj pre scenár testov prihlásenia. Ak chcete spustiť svoj skript na test dymu, použite @SmokeTest. Podobne, ak chcete, aby sa váš skript spustil na test prihlásenia, použite značku @LoginTest.
Pre súbor funkcií aj pre scenár je možné uviesť ľubovoľný počet značiek.
@SmokeTest @LoginTest
Funkcia : Funkcia prihlásenia
S cieľom zabezpečiť funkčnosť prihlásenia,
Chcem spustiť test na uhorku a overiť, či funguje
Osnova scenára : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETETINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako a hesla
Potom prihlásenie by malo byť úspešné
Príklady:
| používateľské meno | heslo |
| Tom | heslo1 |
| Harry | heslo2 |
| Jerry | heslo3 |
Podobne môžete určiť značky na spustenie konkrétneho scenára v súbore funkcií. Skontrolujte nasledujúci príklad a spustite konkrétny scenár.
Funkcia : Funkcia prihlásenia
S cieľom zabezpečiť funkčnosť prihlásenia,
Chcem spustiť test na uhorku a overiť, či funguje
@positiveScenario
Scenár : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETETINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako „USER“ a hesla „PASSWORD“
Potom prihlásenie by malo byť úspešné
@negaviveScenario
Scenár : Funkcia prihlásenia
Dané používateľ prejde na stránku SOFTWARETETINGHELP.COM
Kedy používateľ sa prihlási pomocou používateľského mena ako „USER1“ a hesla „PASSWORD1“
Potom chybové hlásenie by sa malo hodiť
# 6) JUnit Runner:
Na spustenie súboru špecifických funkcií uhorka používa štandardný JUnit Runner a špecifikuje značky v @Cucumber. Možnosti. Je možné zadať viac značiek pomocou samostatných čiarok. Tu môžete určiť cestu k prehľadu a typ prehľadu, ktorý chcete vygenerovať.
Príklad Junit Runner:
ako tlačiť pole v opačnom poradí
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith; @RunWith (Cucumber.class) @ Cucumber.Options (format = {'SimpleHtmlReport: report / smokeTest.html'}, tags = {'@ smokeTest'}) Verejná trieda JUnitRunner {} Podobne môžete dať uhorke pokyn na spustenie viacerých značiek. Nasledujúci príklad ilustruje spôsob použitia viacerých značiek v uhorke na spustenie rôznych scenárov.
import cucumber.api.junit.Cucumber; import org.junit.runner.RunWith; @RunWith(Cucumber.class) @Cucumber.Options(format={'SimpleHtmlReport:report/smokeTest.html'},tags={'@smokeTest',”@LoginTest”}) Public class JUnitRunner { }
# 7) Správa o uhorkách:
Uhorka si vytvára vlastný formát HTML. Lepšie vykazovanie však možno dosiahnuť pomocou nástroja Jenkins alebo bambus. Podrobnosti o podávaní správ sú obsiahnuté v nasledujúcej téme uhorka.
Nastavenie projektu uhorky:
Podrobné vysvetlenie nastavenia projektu uhorky je k dispozícii osobitne v nasledujúcom návode. Viac informácií o nastavení projektu nájdete v časti Výukový program pre uhorky 2. časti. Pamätajte, že pre uhorku nie sú potrebné žiadne ďalšie softvérové inštalácie.
Implementácia súboru funkcií:
Tieto kroky musíme implementovať v prostredí Java, aby sme mohli otestovať súbory funkcií. Je potrebné vytvoriť triedu, ktorá obsahuje výroky dané, kedy a potom. Uhorka používa svoje anotácie a všetky kroky sú v nich obsiahnuté (ak sú dané, kedy). Každá fráza začína „^“, aby uhorka pochopila začiatok kroku. Podobne každý krok končí „$“. Užívateľ môže na odovzdanie rôznych testovacích údajov použiť regulárne výrazy. Regulárne výrazy preberajú údaje z jednotlivých krokov funkcie a definície krok za krokom. Poradie parametrov závisí od toho, ako sa odovzdávajú zo súboru funkcií. V nasledujúcom návode nájdete informácie o nastavení a mapovaní projektu medzi súbormi funkcií a triedami Java.
Príklad:
Nasledujúci príklad ilustruje, ako je možné implementovať súbory funkcií.
V tomto príklade sme nepoužili žiadne selénové API. Toto iba ukazuje, ako uhorka funguje ako samostatný rámec. Postupujte podľa nasledujúceho návodu na integráciu selénu s uhorkou.
public class LoginTest { @Given('^user navigates to SOFTWARETETINGHELP.COM$') public void navigatePage() { system.out.println(“Cucumber executed Given statement”); } @When('^user logs in using Username as '(.*)' and Password '(.*)'$') public void login(String usename,String password) { system.out.println(“Username is:”+ usename); system.out.println(“Password is:”+ password); } @When('^click the Submit button$') public void clickTheSubmitButton() { system.out.println(“Executing When statement”) } @Then('^Home page should be displayed$') public void validatePage() { system.out.println(“Executing Then statement”) } @Then('^login should be successful$') public void validateLoginSuccess() { system.out.println(“Executing 2nd Then statement”) } }
Keď spustíte triedu uhorky, uhorka začne čítať kroky súboru funkcií. Napríklad keď spustíte @smokeTest, uhorka sa načíta Funkcia krok a Dané vyhlásenie o scenár . Akonáhle uhorka zistí, vzhľadom na vyhlásenie, to isté Dané vyhlásenie bude vyhľadané pre vaše súbory Java. Ak sa rovnaký krok nachádza v súbore Java, uhorka vykoná funkciu uvedenú pre ten istý krok, inak uhorka tento krok preskočí.
Záver
V tomto výučbe sme sa venovali vlastnostiam nástroja na uhorky a jeho použitiu v scenári v reálnom čase.
Uhorka je najobľúbenejším nástrojom mnohých projektov, pretože je ľahko pochopiteľná, čitateľná a obsahuje obchodné funkcie.
V nasledujúcej kapitole , sa budeme zaoberať tým, ako nastaviť projekt uhorka - java a ako integrovať Selenium WebDriver s Cucumber.
Odporúčané čítanie
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- 30+ najlepších návodov na selén: Naučte sa selén na skutočných príkladoch
- Výukový program pre selenovú mriežku: Nastavenie a príklad testovania medzi prehliadačmi
- Spock pre integráciu a funkčné testovanie so selénom
- Využitie nástroja Maven Build Automation Tool a nastavenia projektu Maven pre selén - selén - návod č. 24
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Hĺbkové návody pre zatmenie pre začiatočníkov
- Výukový program pre testovanie prístupnosti WAVE