Automatizační testování pomocí nástroje Cucumber Tool a Selenium – Selenium Tutorial # 30

V posledním tutoriálu Selenium jsme vám představili Selenium Grid, což je prostředí pro provádění distribuovaných testů provedení testovacího povolení.

Nyní se na konci této komplexní série školení selenu učíme pokročilé testování selenu a související koncepty.

V tomto a dalším výukovém programu vám představí rámec Cucumber – Behavior Driven Development (BDD), který se používá se selenem k provádění akceptačních testů.

Úvod k okurkám

Okurka je nástroj založený na architektuře BDD (Behavior Driven Development), který se používá k psaní akceptačních testů pro webovou aplikaci. Umožňuje automatizaci funkčního ověřování ve snadno čitelném a srozumitelném formátu (jako je běžná angličtina) obchodním analytikům, vývojářům, testerům atd.

Soubory funkcí okurky mohou sloužit jako dobrý dokument pro všechny. Existuje mnoho dalších nástrojů, jako je JBehave, které také podporují rámec BDD. Zpočátku byla okurka implementována v Ruby a poté rozšířena na rámec Java. Oba nástroje podporují nativní JUnit.

Behavior Driven Development je rozšířením Test Driven Development a slouží spíše k testování systému než k testování konkrétní části kódu. Budeme diskutovat více o BDD a stylu psaní testů BDD.

Okurka může být použita spolu se selenem, Watirem a Capybarou atd. Okurka podporuje mnoho dalších jazyků, jako je Perl, PHP, Python, Net atd. v tomto tutoriálu se zaměříme na Okurky s jazykem Java.

Základy okurky

Abychom okurce porozuměli, potřebujeme znát všechny vlastnosti okurky a její využití.

# 1) Soubory funkcí:

Soubory funkcí jsou základní součástí okurky, která se používá k psaní kroků automatizace testů nebo akceptačních testů. To lze použít jako aktivní dokument. Kroky jsou specifikací aplikace. Všechny soubory funkcí končí příponou .feature.

Ukázkový soubor funkcí:

Funkce: Funkce přihlašovací funkce

Aby byla zajištěna funkčnost přihlašovací funkce,
Chci spustit test okurky a ověřit, že funguje

Scénář: Funkce přihlášení

Daný uživatel přejde na SOFTWARETETINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako „USER“ ”A heslo„ HESLO “
Pak by mělo být přihlášení úspěšné

Scénář: Funkce přihlášení

Daný uživatel přejde na SOFTWARETETINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako“ USER1 ”a heslo„ PASSWORD1 ”
Pak by měla být vyvolána chybová zpráva

# 2) Funkce:

Poskytuje informace o podnikové funkcionalitě na vysoké úrovni (viz předchozí příklad) a účel testované aplikace. Každý by měl být schopen porozumět záměru souboru funkcí přečtením prvního kroku funkce. Tato část je v zásadě stručná.

# 3) Scénář:

Scénář v zásadě představuje konkrétní funkčnost, která je testována. Při pohledu na scénář by měl být uživatel schopen porozumět záměru za scénářem a o tom, o co v testu jde. Každý scénář by měl následovat daný, kdy a poté formátovat. Tento jazyk se nazývá „okurka“.

  1. Vzhledem k tomu: Jak bylo uvedeno výše, daný určuje předpoklady. Jde v zásadě o známý stav.
  2. Kdy: Toto je používá se, když má být provedena nějaká akce. Stejně jako ve výše uvedeném příkladu jsme viděli, že když se uživatel pokusí přihlásit pomocí uživatelského jména a hesla, stane se akcí.
  3. Pak: Očekávaný výsledek nebo výsledek by měl být zde umístěno. Pro instanci: ověřte, zda je přihlášení úspěšné, úspěšná navigace po stránce.
  4. Pozadí: Kdykoli je v každém scénáři vyžadován jakýkoli krok, je třeba tyto kroky umístit na pozadí. Pro instanci: Pokud uživatel musí před každým scénářem vymazat databázi, pak lze tyto kroky umístit na pozadí.
  5. And: And is used to combine two or more same type of action.

Příklad:

Funkce: Funkce přihlašovací funkce

Scénář: Funkce přihlašování
Daný uživatel přejde na SOFTWARETETINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako „USER“
A passwo rd jako „heslo“
Pak by přihlášení mělo být úspěšné
A měla by se zobrazit domovská stránka

Příklad pozadí:

Pozadí:

Zadáno uživatel přihlášen jako správce databází
A všechny nevyžádané hodnoty jsou vymazány

# 4) Přehled scénáře:

Obrysy scénáře se používají, když je třeba provést stejný test s různými soubor dat. Vezměme si stejný příklad. Funkci přihlášení musíme otestovat pomocí několika různých sad uživatelského jména a hesla.

Funkce: Funkce přihlašovací funkce

Aby bylo zajištěno, že funkce přihlášení funguje,
chci spustit test okurky k ověření, že funguje

Osnova scénáře: Funkce přihlášení

Daný uživatel přejde na SOFTWARETESTINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako < uživatelské jméno > a heslo < heslo >
Pak by přihlášení mělo být úspěšné

Příklady:
| uživatelské jméno | heslo |
| Tom | heslo1 |
| Harry | heslo2 |
| Jerry | heslo3 |

Poznámka:

  1. Jak je uvedeno výše, jsou názvy sloupců předávány jako parametr příkazu When.
  2. Místo scénáře je třeba použít scénář osnovy.
  3. Příklady se používají k předání různých argumentů v tabulkovém formátu. Svislé trubky se používají k oddělení dvou různých sloupů. Příklad může obsahovat mnoho různých sloupců.

# 5) Značky:

Okurka ve výchozím nastavení spouští všechny scénáře ve všech souborech funkcí. V projektech v reálném čase mohou existovat stovky souborů funkcí, které nemusí být spuštěny vždy.

Například: Soubory funkcí související s kouřovým testem nemusí být spuštěny pořád. Takže pokud v každém souboru funkcí uvedete značku jako bezdymovou, která souvisí s kouřovým testem a spustí test okurky se značkou @SmokeTest. Okurka spustí pouze ty soubory funkcí, které jsou specifické pro dané značky. Postupujte podle níže uvedeného příkladu. V jednom souboru funkcí můžete zadat více značek.

Příklad použití jednotlivých značek:

@SmokeTest

Funkce: Funkce přihlašovací funkce

Aby bylo zajištěno, že funkce přihlášení funguje,
chci spustit test okurky, abych ověřil, že funguje

Osnova scénáře: funkce přihlášení

Daný uživatel přejde na SOFTWARETESTINGHELP. COM
Když se uživatel přihlásí pomocí uživatelského jména jako < uživatelské jméno > a heslo < heslo >
Pak by přihlášení mělo být úspěšné

Příklad použití více značek:

Jak je ukázáno v následujícím příkladu stejný soubor funkcí lze použít pro scénáře kouřového testu i pro scénář testu přihlášení. Pokud chcete spustit skript pro kouřový test, použijte @SmokeTest. Podobně, když chcete, aby se váš skript spustil pro test přihlášení, použijte značku @LoginTest.

Lze uvést libovolný počet značek pro soubor funkcí i pro scénář.

@SmokeTest @ LoginTest

Funkce: Funkce přihlašovací funkce

Aby byla zajištěna funkčnost přihlašovací funkce,
chci spustit test okurky, abych ověřil, že funguje

Scénář scénáře: Funkce přihlášení

Daný uživatel přejde na SOFTWARETETINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako < uživatelské jméno > a heslo < heslo >
Pak by přihlášení mělo být úspěšné

Podobně můžete zadejte značky pro spuštění konkrétního scénáře v souboru funkcí. Chcete-li spustit konkrétní scénář, zkontrolujte níže uvedený příklad.

Funkce: Funkce přihlašovací funkce

Aby bylo zajištěno, že funkce Přihlášení funguje,
Chci spustit test okurky a ověřit, zda je working

@positiveScenario
Scénář: Funkce přihlášení

Daný uživatel přejde na SOFTWARETETINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako „USER“ a hesla „HESLO“
Pak by přihlášení mělo být úspěšné

@negaviveScenario
Scénář: Funkce přihlášení

Daný uživatel přejde na SOFTWARETETINGHELP.COM
Když se uživatel přihlásí pomocí uživatelského jména jako „USER1“ a heslo „PASSWORD1“
Pak by se měla zobrazit chybová zpráva

# 6) JUnit Runner:

Chcete-li spustit konkrétní soubor funkce okurka, použijte standardní JUnit Runner a zadejte značky v @Cucumber . Možnosti. Více značek lze zadat oddělením čárkami. Zde můžete určit cestu k sestavě a typ sestavy, kterou chcete generovat.

Příklad Junit Runner:

Podobně můžete dát okurce pokyn ke spuštění více značek. Níže uvedený příklad ukazuje, jak použít více značek v okurce ke spuštění různých scénářů.

# 7) Okurkový přehled:

Okurka generuje svůj vlastní formát HTML. Lepší hlášení však lze provést pomocí nástroje Jenkins nebo bambus. Podrobnosti o podávání zpráv jsou popsány v dalším tématu okurky.

Nastavení projektu okurky:

Podrobné vysvětlení nastavení projektu okurky je k dispozici samostatně v dalším kurzu. Další informace o nastavení projektu najdete v části Cucumber Tutorial Part2. Pamatujte, že u okurky nejsou vyžadovány žádné další instalace softwaru.

Implementace souboru funkcí:

Abychom mohli soubory funkcí otestovat, musíme tyto kroky implementovat v prostředí Java. Je třeba vytvořit třídu, která obsahuje výroky dané, kdy a pak. Okurka používá své anotace a všechny kroky jsou do těchto anotací vloženy (pokud jsou uvedeny, kdy). Každá fráze začíná řetězcem „^“, takže okurka chápe začátek kroku. Podobně každý krok končí „$“. Uživatel může předávat různá testovací data pomocí regulárních výrazů. Regulární výrazy přebírají data z kroků funkce a předávají definice kroku.Pořadí parametrů závisí na tom, jak jsou předávány ze souboru funkcí. V dalším výukovém programu naleznete nastavení projektu a mapování mezi soubory funkcí a třídami Java.

Příklad:

Níže uvedený příklad ilustruje, jak lze implementovat soubory funkcí.

V tomto příkladu jsme nepoužili žádné API selenu. To je jen ukázat, jak okurka funguje jako samostatný rámec. Postupujte podle následujícího výukového programu pro integraci selenu s okurkou.

Když spustíte třídu okurky, okurka začne číst kroky souboru funkcí. Například když spustíte @smokeTest, okurka přečte krok funkce a daný scénář. Jakmile okurka zjistí daný příkaz, bude pro vaše java soubory vyhledán stejný příkaz daný. Pokud je stejný krok nalezen v souboru Java, pak okurka provede funkci uvedenou pro stejný krok, jinak okurka tento krok přeskočí. nástroj na okurky a jeho využití ve scénáři v reálném čase.
Okurka je nejoblíbenější nástroj pro mnoho projektů, protože je snadno srozumitelný, čitelný a obsahuje obchodní funkce.

V následující kapitole se budeme zabývat jak nastavit projekt okurka – java a jak integrovat Selenium WebDriver s okurkou.

Poslední aktualizace: 18. ledna 2021 6:40

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *