Testautomatisering ved hjelp av selen og agurkrammer: opplæring

Nettapplikasjoner har blitt avgjørende for bedrifter som søker avanserte måter å få kontakt med og betjene målgruppen i den digitale verden. Gitt viktigheten av webapper i forretningsdrift i disse dager, uavhengig av bransje, må de testes grundig for å sikre at de tilbyr avanserte brukeropplevelser.

Automatiseringstest akselererer livssyklusen for programvareutvikling. Videre, ved å ta i bruk BDD-tilnærmingen (Behavior Driven Development) til utvikling, kan forskjellige interessenter som utviklere, kvalitetssikringsselskaper og ikke-teknologiske team samarbeide aktivt i prosjektet.

Scenariene er skrevet basert på forventet oppførsel. av programvaren, og den er testet for å sjekke om den samsvarer med nevnte scenarier.

Bildekilde

Disse scenariene er dokumentert ved hjelp av et domenespesifikt språk som Gherkin. I hvert testscenario brukes naturlige språkkonstruksjoner som utgjør små engelsklignende setninger for å beskrive oppførselen og forventet resultat av en applikasjon. Dette gjøres ved hjelp av et dedikert programvareverktøy som Agurk, som gjør det mulig å utføre automatiserte akseptstester skrevet i Gherkin.

Hva er agurk?

Agurk er et rammeverk for åpen kildekode som støtter Behavior Driven Development for automatiseringstesting av webapplikasjoner. Testene er først skrevet i en enkel scenarioform som beskriver systemets forventede oppførsel fra brukerens perspektiv.

I stor grad brukt til akseptanstester, er agurk skrevet i Ruby, mens testene er skrevet i Gherkin, et ikke-teknisk og menneskelig lesbart språk.

Testing av agurk og selen: En samarbeidende tilnærming

Mens automatisert selen-testing gir nøyaktighet og hastighet til utviklingssyklusen, gir agurk en ekstra kant til det, noe som gjør det mer samarbeidende for ikke-tekniske ledelsesinteressenter. Generelt fordelaktig for brukertestingstest der testscenariene i stor grad er drevet av atferd, styrker agurk automatiseringstesting.

Agurkrammer

Agurkrammer består hovedsakelig av tre hoveddeler – Feature File, Trinndefinisjoner, og Test Runner-filen.

Feature File

En frittstående enhet eller en enkelt funksjonalitet (for eksempel pålogging) for et prosjekt kan kalles en Feature. Hver av disse funksjonene vil ha scenarier som må testes ved hjelp av Selen integrert med agurk. En fil som lagrer data om funksjoner, beskrivelser av dem og scenariene som skal testes, kalles en Feature File.

Agurktester skrives i disse Feature Files som er lagret med utvidelsen – «.feature» . En funksjonsfil kan gis en beskrivelse for å gjøre dokumentasjonen mer leselig.

Eksempel:

Påloggingsfunksjonen på et nettsted

Feature File Name: userLogin .feature

Beskrivelse: Brukeren skal være i stand til å logge inn ved å skrive inn riktig brukernavn og passord i de riktige feltene. Brukeren skal rettes til hjemmesiden hvis brukernavnet og passordet som er angitt er riktig. >

Nøkkelord som GIVEN, WHEN og THEN som brukes til å skrive testen i agurk kalles Annotations.

  • GIVEN-bruker navigerer til påloggingssiden ved å åpne Firefox
  • NÅR bruker angir riktig < brukernavn > OG < passord > verdier
  • DA blir brukeren henvist til t hjemmesiden

Trinndefinisjoner

Nå som funksjonene er skrevet i funksjonsfilene, må koden for det relaterte scenariet kjøres. For å vite hvilken gruppe koder som må kjøres for et gitt scenario, kommer trinndefinisjoner inn i bildet. En trinns definisjonsfil lagrer kartdataene mellom hvert trinn i et scenario som er definert i funksjonsfilen og koden som skal utføres.

Trinndefinisjoner kan bruke både Java- og Selen-kommandoer for Java-funksjonene som er skrevet for å kartlegge en funksjonsfil 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 File

For å kjøre testen, en trenger en Test Runner-fil, som er en JUnit Test Runner-klasse som inneholder trinndefinisjonsplasseringen og de andre primære metadataene som kreves for å kjøre testen.

Test Runner-filen bruker @RunWith () -kommentar fra JUnit for utføre tester. Den bruker også @CucumberOptions-merknaden for å definere plasseringen av funksjonsfiler, trinndefinisjoner, rapporteringsintegrasjoner osv.

Eksempel:

Test Runner Class i cucumberTest-pakke, med funksjonsfilene i «src / test / Feature» plassering og trinndefinisjonsfiler i «src / main / stepDefinition» -mappen.

Sette opp agurkrammer

Før du utforsker hvordan agurk fungerer og hvordan du skriver en agurkselen test, la oss først finne ut hvordan du setter opp agurk.Installasjon av forutsetningene nevnt nedenfor er alt en bruker trenger for å begynne med agurkautomatiseringstesting.

Forutsetninger for agurk- og selenoppsett

  • Installer Java
  • Install Formørkelse IDE for Java
  • Install Maven
  • Install Selenium Webdriver
  • Install JUnit
  • Install Cucumber

Hvordan skriver jeg en test i Agurk for Selenium-automatisering?

Fortsett scenariet for påloggingsfunksjonen, la oss lage en prøvetest i Agurk. Denne koden vil kjøre påloggingsscenariet beskrevet i delen Feature og vil åpne hjemmesiden for hjemmesiden når du skriver inn riktig brukernavn og passord.

Beste fremgangsmåter innen agurkprøving

Her er noen av de beste metodene innen agurkprøving:

  • Versjonene av agurk-java-, agurk-junit- og agurkekjerne-krukker bør være de samme for sømløs tilkobling.
  • Legge til en etter å ha koblet til koden for å fange skjermbilder når testen mislykkes, kan du diagnostisere problemet og feilsøke det.
  • Bruk tagger til å organisere tester basert på tagdefinisjon. Dette hjelper i tilfeller der alle testene ikke trenger å kjøres hver gang. Slike tester kan merkes med koder og kjøres bare når det er nødvendig. Dette sparer tid og prosesseringskapasitet for systemet og ressurser.
  • Som alltid er det viktig å kjøre Cucumber Selenium-testene på ekte nettlesere og enheter. BrowserStack tilbyr et Cloud Selenium Grid med 2000+ ekte nettlesere og enheter for testformål – både live og automatisert. Bare registrer deg, velg ønsket kombinasjon av enhet og nettleser og operativsystem, og begynn å teste nettsteder gratis.

Kjør Selenium-tester gratis

Testautomatisering er helt avgjørende for holde tritt med de økende kravene om raskere levering og optimal kvalitet på testere. Agurkeramme i Selen lar testscenarier skrives ved hjelp av naturlige språkkonstruksjoner som beskriver programvarens forventede oppførsel for et gitt scenario, noe som gjør den ideell for testing av brukeraksept.

Til slutt tester nettsteder på en ekte enhet. sky er den eneste måten å sikre fullstendig nøyaktighet av resultatene. Så, velg alltid ekte enhetstesting for å fullstendig kontrollere nettstedets ytelse, kompatibilitet mellom nettlesere og kvaliteten på brukeropplevelsen den tilbyr.

Write a Comment

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *