Webové aplikace se staly nezbytnými pro podniky, které hledají pokročilé způsoby, jak se spojit se svým cílovým publikem v digitální sféře a sloužit mu. Vzhledem k důležitosti webových aplikací v dnešních obchodních operacích, bez ohledu na odvětví, je nutné je komplexně otestovat, aby bylo zajištěno, že nabízejí špičkové uživatelské prostředí.
Testování automatizace zrychluje životní cyklus vývoje softwaru. Při přijetí přístupu k vývoji založeném na chování (BDD) mohou dále na projektu aktivně spolupracovat různé zúčastněné strany, jako jsou vývojáři, QA a netechnické týmy.
Scénáře jsou psány na základě očekávaného chování softwaru a testuje se, zda odpovídá uvedeným scénářům.
Zdroj obrázku
Tyto scénáře jsou dokumentovány pomocí jazyka specifického pro doménu, jako je Gherkin. V každém testovacím scénáři se k popisu chování a očekávaného výsledku aplikace používají konstrukce přirozeného jazyka, které tvoří malé fráze podobné angličtině. To se provádí pomocí specializovaného softwarového nástroje, jako je Cucumber, který umožňuje provádění automatických akceptačních testů napsaných v Gherkin.
Co je Cucumber?
Cucumber je open-source testovací rámec, který podporuje Behavior Driven Development pro automatizované testování webových aplikací. Testy jsou nejprve psány ve formě jednoduchého scénáře, který popisuje očekávané chování systému z pohledu uživatele.
Cucumber, který se často používá pro akceptační testy, je napsán v Ruby, zatímco testy jsou psány v Gherkin, netechnický a člověkem čitelný jazyk.
Testování okurky a selenu: přístup ke spolupráci
Zatímco automatické testování selenu dodává vývojovému cyklu přesnost a rychlost, Cucumber přidává další výhodu k tomu, aby byla více spolupracující pro netechnické zúčastněné strany managementu. Cucumber je široce přínosný pro testování přijatelnosti uživatelů, kde jsou scénáře testování do značné míry ovlivňovány chováním, a posiluje testování automatizace.
Cucumber Framework
Cucumber framework se skládá hlavně ze tří hlavních částí – soubor funkcí, Definice kroků a soubor Test Runner.
Soubor funkcí
Samostatnou jednotku nebo jednu funkci (například přihlášení) pro projekt lze nazvat funkcí. Každá z těchto funkcí bude mít scénáře, které musí být testovány pomocí selenu integrovaného s okurkou. Soubor, který ukládá data o funkcích, jejich popisech a scénářích, které se mají testovat, se nazývá soubor funkcí.
Testy okurky se zapisují do těchto souborů funkcí, které jsou uloženy s příponou – „.feature“ . Souboru funkcí lze poskytnout popis, aby byla dokumentace čitelnější.
Příklad:
Funkce přihlášení na webu
Název souboru funkcí: userLogin .feature
Popis: Uživatel by měl mít možnost se přihlásit po zadání správného uživatelského jména a hesla do správných polí. Pokud je zadané uživatelské jméno a heslo správné, měl by být uživatel přesměrován na domovskou stránku.
Klíčová slova jako GIVEN, WHEN a THEN použitá k napsání testu v okurce se nazývají anotace.
- GIVEN uživatel přejde na přihlašovací stránku otevřením Firefoxu
- KDYŽ uživatel zadá správné < uživatelské jméno > A < heslo > hodnoty
- POTOM je uživatel přesměrován na t Domovská stránka
Definice kroků
Nyní, když jsou funkce zapsány do souborů funkcí, je třeba spustit kód souvisejícího scénáře. Chcete-li vědět, kterou dávku kódu je třeba spustit pro daný scénář, do obrázku vstoupí definice kroků. Soubor definice kroků ukládá mapovací data mezi každým krokem scénáře definovaným v souboru funkcí a kódem, který má být spuštěn.
Definice kroku mohou používat funkce Java i Selenium pro funkce Java napsané k mapování a soubor funkce do kódu.
Příklad:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more