Webbapplikationer har blivit viktiga för företag som söker avancerade sätt att ansluta till och betjäna sin målgrupp i den digitala världen. Med tanke på vikten av webbappar i affärsverksamheten idag, oavsett bransch, måste de testas noggrant för att säkerställa att de erbjuder avancerade användarupplevelser.
Automation Testing påskyndar livscykeln för programvaruutveckling. Dessutom kan olika intressenter som utvecklare, kvalitetssäkerhetsgrupper och icke-tekniska team samarbeta aktivt i projektet när de använder BDD-metoden (Behavior Driven Development) för utveckling.
Scenarierna skrivs utifrån förväntat beteende av programvaran och den testas för att kontrollera om den matchar sagda scenarier.
Bildkälla
Dessa scenarier dokumenteras med hjälp av ett domänspecifikt språk som Gherkin. I varje testscenario används naturliga språkkonstruktioner som utgör små engelska-liknande fraser för att beskriva beteenden och förväntat resultat av en applikation. Detta görs med hjälp av ett dedikerat programvaruverktyg som gurka, som gör det möjligt att utföra automatiserade godkännandestester skrivna i Gherkin.
Vad är gurka?
Gurka är ett testkod för öppen källkod som stöder Behavior Driven Development för automatiseringstestning av webbapplikationer. Testerna skrivs först i ett enkelt scenarioform som beskriver systemets förväntade beteende ur användarens perspektiv.
I stor utsträckning används för acceptantest, Gurka skrivs i Ruby, medan testerna är skrivna i Gherkin, ett icke-tekniskt och läsbart språk.
Testning av gurka och selen: En samarbetsmetod
Medan automatiserad selentestning ger noggrannhet och snabbhet till utvecklingscykeln, ger gurka en extra kant till det, vilket gör det mer samarbete för de icke-tekniska ledningsintressenterna. Mycket fördelaktigt för testning av användaraccept där testscenarierna till stor del drivs av beteende, gurka stärker automatiseringstestning.
Gurka Framework
Gurka ramverk består huvudsakligen av tre huvuddelar – Feature File, Stegdefinitioner och Test Runner-filen.
Funktionsfil
En fristående enhet eller en enstaka funktion (t.ex. inloggning) för ett projekt kan kallas en funktion. Var och en av dessa funktioner kommer att ha scenarier som måste testas med Selen integrerad med gurka. En fil som lagrar data om funktioner, deras beskrivningar och de scenarier som ska testas kallas en Feature File.
Gurktester skrivs i dessa Feature Files som lagras med tillägget – ”.feature” . En funktionsfil kan ges en beskrivning för att göra dokumentationen mer läsbar.
Exempel:
Inloggningsfunktionen på en webbplats
Feature File Name: userLogin .feature
Beskrivning: Användaren ska kunna logga in när man anger rätt användarnamn och lösenord i rätt fält. Användaren ska hänvisas till hemsidan om användarnamnet och lösenordet är korrekt. >
Nyckelord som GIVEN, WHEN och THEN som används för att skriva testet i Gurka kallas Annotations.
- GIVEN-användare navigerar till inloggningssidan genom att öppna Firefox
- NÄR användaren anger rätt < användarnamn > OCH < lösenord > värden
- Då riktas användaren till t hemsidan
Stegdefinitioner
Nu när funktionerna är skrivna i funktionsfilerna måste koden för det relaterade scenariot köras. Stegdefinitioner kommer in i bilden för att veta vilken sats kod som behöver köras för ett visst scenario. En Steps Definitions-fil lagrar mappningsdata mellan varje steg i ett scenario som definieras i funktionsfilen och koden som ska köras.
Stegdefinitioner kan använda både Java- och Selen-kommandon för Java-funktionerna skrivna för att mappa en funktionsfil till koden.
Exempel:
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