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 as inputs to define the WHEN step of the feature@Then ("^user gets directed to homepage$”)//Direct to the Homepage of the application as a result of correct username and password inputs in the WHEN step. This would define the THEN step of the feature
Test Runner File
För att köra testet, en behöver en Test Runner-fil, som är en JUnit Test Runner-klass som innehåller Step Definition-platsen och de andra primära metadata som krävs för att köra testet.
Test Runner-filen använder @RunWith () -anmärkningen från JUnit för utförande av tester. Den använder också @CucumberOptions-anteckningen för att definiera platsen för funktionsfiler, stegdefinitioner, rapporteringsintegrationer etc.
Exempel:
Test Runner Class i cucumberTest-paketet med funktionsfilerna i ”src / test / Feature” -plats och stegdefinitionsfiler i ”src / main / stepDefinition” -mappen.
Konfigurera gurka Framework
Innan du utforskar hur Gurka fungerar och hur man skriver ett gurkselen-test, låt oss först ta reda på hur man ställer in gurka.Att installera de förutsättningar som nämns nedan är allt som en användare behöver för att börja med gurkautomatiseringstestning.
Förutsättningar för gurka- och seleninstallation
- Installera Java
- Installera Eclipse IDE för Java
- Installera Maven
- Installera Selenium Webdriver
- Installera JUnit
- Installera gurka
Hur skriver jag ett test i Gurka för selenautomation?
Om vi tar fram scenariot för inloggningsfunktionen, låt oss skapa ett provtest i Gurka. Den här koden kör inloggningsscenariot som beskrivs i avsnittet Funktion och öppnar webbplatsens hemsida när du anger rätt användarnamn och lösenord.
Bästa praxis vid gurktestning
Här är några av de bästa metoderna i gurktestning:
- Versionerna av Gurka-java-, Gurka-junit- och Gurka-kärna burkar bör vara desamma för sömlös anslutning.
- Lägga till en efter koppling till koden för att fånga skärmdumpar när testet misslyckas kan det hjälpa till att diagnostisera problemet och felsöka det.
- Använd Taggar för att organisera tester baserat på taggdefinition. Detta hjälper i fall där alla tester inte behöver köras varje gång. Sådana tester kan markeras med hjälp av taggar och köras endast när det behövs. Detta sparar tid och processkapacitet för systemet och resurser.
- Som alltid är det viktigt att köra gurkselenstester på riktiga webbläsare och enheter. BrowserStack erbjuder ett Cloud Selen Grid med 2000+ riktiga webbläsare och enheter för teständamål – både live och automatiserade. Registrera dig helt enkelt, välj önskad kombination av enhet-webbläsare och operativsystem och börja testa webbplatser gratis.
Kör Selen-tester gratis
Testautomation är absolut nödvändigt för hålla jämna steg med de växande kraven på snabbare leverans och optimal kvalitet på testare. Gurka ramverk i Selen gör att testscenarier kan skrivas med hjälp av naturliga språkkonstruktioner som beskriver programvarans förväntade beteende för ett givet scenario, vilket gör den idealisk för testning av användaracceptans. molnet är det enda sättet att säkerställa fullständig noggrannhet i resultaten. Så välj alltid verklig enhetstestning för att fullständigt verifiera webbplatsens prestanda, kompatibilitet mellan webbläsare och kvaliteten på användarupplevelsen.