Webapplikationer er blevet vigtige for virksomheder, der søger avancerede måder at forbinde med og betjene deres målgruppe i den digitale verden. I betragtning af vigtigheden af webapps i forretningsdriften i disse dage, uanset branche, skal de testes grundigt for at sikre, at de tilbyder avancerede brugeroplevelser.
Automatiseringstest fremskynder softwareudviklings livscyklus. Desuden kan forskellige interessenter som udviklere, kvalitetssikringsselskaber og ikke-teknologiteams samarbejde aktivt i projektet, når de anvender BDD-tilgangen (Behavior Driven Development) til udvikling.
Scenarierne er skrevet ud fra den forventede adfærd. af softwaren, og den testes for at kontrollere, om den matcher de nævnte scenarier.
Billedkilde
Disse scenarier dokumenteres ved hjælp af et domænespecifikt sprog som f.eks. Agurk. I hvert testscenarie bruges naturlige sprogkonstruktioner, der udgør små engelsklignende sætninger, til at beskrive en applikations adfærd og forventede resultat. Dette gøres ved hjælp af et dedikeret softwareværktøj som agurk, der tillader udførelse af automatiserede acceptstest skrevet i agurk.
Hvad er agurk?
Agurk er en open source-testramme, der understøtter Behavior Driven Development til automatiseringstest af webapplikationer. Testene skrives først i en simpel scenarieform, der beskriver systemets forventede opførsel ud fra brugerens perspektiv.
Størst anvendt til acceptstest, agurk er skrevet i Ruby, mens testene er skrevet i Gherkin, et ikke-teknisk og menneskeligt læsbart sprog.
Testning af agurk og selen: En samarbejdsvillig tilgang
Mens automatiseret selen-test tilføjer nøjagtighed og hastighed til udviklingscyklussen, tilføjer agurk en ekstra kant til det, hvilket gør det mere samarbejde for de ikke-tekniske ledelsesinteressenter. Meget gavnlig for test af brugeraccept, hvor testscenarierne i vid udstrækning er drevet af adfærd, styrker agurk automatiseringstest.
Agurkerammen
Agurkeramme består hovedsageligt af tre hoveddele – Feature File, Trindefinitioner og Test Runner-filen.
Feature File
En enkeltstående enhed eller en enkelt funktionalitet (såsom et login) til et projekt kan kaldes en Feature. Hver af disse funktioner vil have scenarier, der skal testes ved hjælp af Selen integreret med agurk. En fil, der gemmer data om funktioner, deres beskrivelser og de scenarier, der skal testes, kaldes en Feature File.
Agurktests er skrevet i disse Feature Files, der er gemt med udvidelsen – “.feature” . En funktionsfil kan gives en beskrivelse for at gøre dokumentationen mere læselig.
Eksempel:
Login-funktionen på et websted
Feature File Name: userLogin .feature
Beskrivelse: Brugeren skal være i stand til at logge på ved indtastning af det korrekte brugernavn og adgangskode i de korrekte felter. Brugeren skal henvises til hjemmesiden, hvis det indtastede brugernavn og adgangskode er korrekte.
Nøgleord som GIVEN, WHEN og THEN, der bruges til at skrive testen i agurk, kaldes Annotations.
- GIVEN-bruger navigerer til login-siden ved at åbne Firefox
- NÅR bruger indtaster korrekt < brugernavn > OG < adgangskode > værdier
- DENNE bruger henvises til t startsiden
Trindefinitioner
Nu hvor funktionerne er skrevet i funktionsfilerne, skal koden for det relaterede scenario køres. For at vide, hvilket batch kode der skal køres for et givet scenarie, kommer trindefinitioner ind i billedet. En Steps Definitions-fil gemmer kortlægningsdataene mellem hvert trin i et scenarie, der er defineret i funktionsfilen, og den kode, der skal udføres.
Trindefinitioner kan bruge både Java- og Selenium-kommandoer til de Java-funktioner, der er skrevet til at kortlægge en funktionsfil til koden.
Eksempel:
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-fil
For at køre testen skal der en har brug for en Test Runner-fil, som er en JUnit Test Runner-klasse, der indeholder Step Definition-placeringen og de andre primære metadata, der kræves for at køre testen.
Test Runner-filen bruger @RunWith () -kommentar fra JUnit til udføre tests. Det bruger også @CucumberOptions Annotation til at definere placeringen af funktionsfiler, trindefinitioner, rapporteringsintegrationer osv.
Eksempel:
Test Runner Class i cucumberTest-pakke med funktionsfilerne i “src / test / Feature” placering og trindefinitionsfiler i “src / main / stepDefinition” -mappen.
Opsætning af agurkeramme
Før du udforsker, hvordan agurk fungerer, og hvordan man skriver en agurkselen-test, lad os først finde ud af, hvordan man opsætter agurk.Installation af nedenstående forudsætninger er alt, hvad en bruger har brug for til at begynde med Agurautomatiseringstest.
Forudsætninger for agurk- og selenopsætning
- Installer Java
- Install Formørkelse IDE til Java
- Installer Maven
- Installer Selen Webdriver
- Installer JUnit
- Installer agurk
Hvordan skriver jeg en test i Agurk til Selen-automatisering?
Når vi fortsætter scenariet med loginfunktionen, skal vi oprette en prøvetest i Agurk. Denne kode kører login-scenariet beskrevet i afsnittet Funktion og åbner hjemmesiden for hjemmesiden ved indtastning af det rigtige brugernavn og adgangskode.
Bedste fremgangsmåder ved agurktest
Her er nogle af de bedste fremgangsmåder i agurktest:
- Versionerne af agurk-java-, agurk-junit- og agurkekerne-krukker skal være de samme for problemfri forbindelse.
- Tilføjelse af en efter tilslutning til koden til optagelse af skærmbilleder, når testen mislykkes, kan hjælpe med at diagnosticere problemet og debugere det.
- Brug tags til at organisere tests baseret på tagdefinition. Dette hjælper i tilfælde, hvor alle tests ikke skal køres hver gang. Sådanne tests kan markeres ved hjælp af tags og køres kun, når det er nødvendigt. Dette sparer tid og processorkapacitet for systemet og ressourcer.
- Som altid er det vigtigt at køre agurkselen-test på rigtige browsere og enheder. BrowserStack tilbyder et Cloud Selen Grid på mere end 2000 rigtige browsere og enheder til testformål – både live og automatiseret. Tilmeld dig, vælg den påkrævede enhed-browser-OS-kombination, og start test af websteder gratis.
Kør Selenium-tests gratis
Testautomatisering er absolut nødvendigt for holde øje med de voksende krav om hurtigere levering og optimal kvalitet til testere. Agurkeramme i Selen tillader, at testscenarier skrives ved hjælp af naturlige sprogkonstruktioner, der beskriver den forventede opførsel af softwaren i et givet scenarie, hvilket gør den ideel til test af brugeraccept.
Endelig test af websteder på en rigtig enhed cloud er den eneste måde at sikre fuldstændig nøjagtighed af resultaterne på. Så vælg altid ægte enhedstest for omfattende kontrol af webstedsydelse, kompatibilitet på tværs af browsere og kvaliteten af den brugeroplevelse, den tilbyder.