Selen med agurk (BDD Framework): Opplæring med eksempel

Innholdsfortegnelse:

Anonim

I denne opplæringen lærer du hvordan du integrerer agurk med Selenium Webdriver.

Hva er agurk?

Agurk er en testtilnærming som støtter Behavior Driven Development (BDD). Det forklarer oppførselen til applikasjonen i en enkel engelsk tekst ved hjelp av gherkin-språk.

Lær mer på - https://www.guru99.com/cucumber-tutorials.html

Hva er selen?

Selen er et automatiseringsverktøy for funksjonell testing av den nettbaserte applikasjonen. Selen støtter forskjellige språk som java, rubin, python C #, etc.

Lær mer på - https://www.guru99.com/selenium-tutorial.html

I denne agurkveiledningen vil vi lære-

  • Hvorfor bruke agurk med selen?
  • Forutsetning for bruk av agurk med selen.
  • Automatiseringstesting ved bruk av agurk med selen.
  • Scenario 1: Skriv ut tekst i konsollen.
  • Scenario 2: Skriv inn påloggingsinformasjon og tilbakestill verdien.
  • Scenario 3: Skriv inn påloggingsinformasjon på Guru99 og tilbakestill verdien. Gjør dette for 3 datasett.

Hvorfor bruke agurk med selen?

Agurk og selen er to populære teknologier.

De fleste av organisasjonene bruker Selen til funksjonell testing. Disse organisasjonene som bruker selen, vil integrere selen med agurk, da agurk gjør det enkelt å lese og forstå applikasjonsflyten.

Agurkverktøy er basert på rammeverket Behavior Driven Development som fungerer som broen mellom følgende personer:

  1. Programvareingeniør og forretningsanalytiker.
  2. Manuell tester og automatiseringstester.
  3. Manuell tester og utviklere.

Agurk BDD-rammeverk har også fordeler for klienten å forstå applikasjonskoden ettersom den bruker agurkespråk som er i vanlig tekst. Alle i organisasjonen kan forstå oppførselen til programvaren. Syntaksen til Gherkin er i enkel tekst som er lesbar og forståelig.

Forutsetning for bruk av agurk med selen

Før vi starter agurkselenintegrering, trenger vi følgende ting:

  • Selen jar filer:
  • Selen-server-frittstående

Kan lastes ned på http://www.seleniumhq.org/download/

Krukkefiler for agurk:

  • Agurk-kjerne
  • Agurk-html
  • cobertura-kodedekning
  • Agurk-java
  • Agurk-junit
  • Agurk-jvm-deps
  • Agurkrapportering
  • Hemcrest-kjerne
  • Agurk
  • Junit

Kan lastes ned på https://mvnrepository.com/search?q=Cucumber

Du må søke i filer og laste dem ned hver for seg.

For eksempel vil vi vise deg å laste ned en av jar-filene, dvs. "Agurk-kjerne."

Klikk på nedlastningskoblingen ovenfor. Den omdirigerer til nettstedet nedenfor. Søk nå i den spesielle krukken, dvs. 'Agurkekjerne' som vist skjermbilde nedenfor:

Klikk på versjonen 1.2.2 på neste side,

I det neste skjermbildet klikker du på nedlasting for å hente 'Cucumber Core' jar-filen.

Merk : For enkelhets skyld har vi samlet jar-filene som kreves for nedlasting fra Maven her. Med tiden kan disse glassene oppdateres og bli inkompatible. Du blir bedt om å laste dem ned ved hjelp av metoden illustrert ovenfor.

Automatiseringstesting ved bruk av agurk med selen.

La oss studere trinn for å bruke agurk med selen trinn for trinn. Her vil vi dekke tre scenarier:

  • Scenario 1: Skriv ut tekst i konsollen.
  • Scenario 2: Skriv inn påloggingsinformasjon og tilbakestill verdien.
  • Scenario 3: Skriv inn påloggingsinformasjon på Guru99 og tilbakestill verdien. Gjør dette for 3 datasett.

Scenario 1: Skriv ut tekst i konsollen.

I dette scenariet skriver vi bare ut teksten i konsollen ved å bruke Agurk.

Trinn 1) Opprett prosjekt i formørkelse.

Lag Java-prosjekt med navnet "CucumberWithSelenium" som vist på skjermbildet nedenfor.

Trinn 2) Legge til Jar-filer i prosjektet.

Høyreklikk på prosjektet> Velg egenskaper> Gå til Java Build Path. Legg til alle bibliotekene som ble lastet ned tidligere.

Trinn 3) Opprette funksjonsfil

For å lage funksjonsfil, må du først lage funksjoner-mappen som vist under skjermbilde.

Skriv inn mappenavn 'Funksjoner' og klikk på 'Fullfør' -knappen.

Opprett nå funksjonsfil i 'Funksjoner' -mappen med navnet "MyTest.feature" - Prosessen ligner på å lage en mappe

Merk: Du må kanskje installere Cucumber Eclipse Plugin for at dette skal fungere. Gå til - Hjelp-> Installer ny programvare-> kopier og lim inn lenken http://cucumber.github.io/cucumber-eclipse/update-site/ og installer

Trinn 4) Skriv scenarier.

Nedenfor er linjene skrevet i 'MyTest.feature' -filen ved hjelp av surkornsspråket som vist nedenfor:

Funksjon: Tilbakestill funksjonalitet på påloggingssiden til applikasjonen

Scenario: Bekreftelse av tilbakestillingsknappen

Gitt Åpne Firefox og start applikasjonen

Når angir brukernavn og passord

Tilbakestill deretter legitimasjonen

Kode Forklaring

Linje 1) I denne linjen skriver vi forretningsfunksjonalitet.

Linje 2) I denne linjen skriver vi et scenario å teste.

Linje 3) I denne linjen definerer vi forutsetningen.

Linje 4) I denne linjen definerer vi handlingen vi trenger å utføre.

Linje 4) I denne linjen definerer vi forventet utfall eller resultat.

Trinn 5) Skrive selen testrunner script for Selenium Cucumber framework design

Her oppretter vi 'TestRunner' -pakke og deretter 'Runner.java' klassefil under den.

pakke TestRunner;importer org.junit.runner.RunWith;importere agurk.api.CucumberOptions;importere agurk.api.junit. agurk;@RunWith (Cucumber.class)@CucumberOptions (features = "Features", lim = {"StepDefinition"})offentlig klasse Runner{}

I eksemplet ovenfor over agurk Java kjører vi agurktesten ved å bruke følgende merknader:

@RunWith () kommentar forteller om testløperklassen for å begynne å utføre testene våre.

@CucmberOptions () -notering brukes til å angi noen egenskaper for vår agurktest som funksjonsfil, trinndefinisjon , etc.

Skjermbilde av TestRunner-filen.

Trinn 6) Opprette trinndefinisjonsskript.

Nå oppretter vi 'StepDefinition' -pakke og deretter 'Steps.java' skriptfil under den. Her skriver vi faktisk et selenskript for å gjennomføre testen under agurkmetoder.

pakke StepDefinition;importere agurk.api.java.en.Given;importer agurk.api.java.en. Deretter;importer agurk.api.java.en.Når;trinn i offentlig klasse {@Given ("Åpne Firefox og start applikasjonen $")offentlig tomrom åpner_Firefox_og_lansering_applikasjonen () kaster Kastbar{System.out.println ("Dette trinnet åpner Firefox og starter applikasjonen.");}@When ("Skriv inn brukernavn og passord $")offentlig ugyldig enter_the_Username_and_Password () kaster Throwable{System.out.println ("Dette trinnet skriver inn brukernavn og passord på påloggingssiden.");}@Then ("Tilbakestill legitimasjonen $")offentlig ugyldig Reset_the_credential () kaster Throwable{System.out.println ("Dette trinnet klikker du på Tilbakestill-knappen.");}}

I koden ovenfor opprettes klassen med navnet "Steps". Agurkkommentar brukes til å kartlegge med funksjonsfil. Hver annoteringsmetode er definert:

@Given kommentar definere metode for å åpne Firefox og starte applikasjonen

@Når merknad definerer metode for å angi brukernavn og passord

@ Deretter definerer annotering metoden for å tilbakestille legitimasjonen

Under hver metode skriver vi bare ut en melding.

Nedenfor er skjermbildet av 'Steps.java' skriptet og prosjekttreet, hvordan det ser ut.

Merk: Trinndefinisjon er bare trinnene du vil utføre under denne agurkmetoden.

Trinn 7) Utføre skriptet.

Brukeren kan utføre dette skriptet fra Test runner script, dvs. 'Runner.java' som vist på skjermbildet nedenfor.

Trinn 8) Analyser utdataene.

Når du kjører 'Runner.java' -skriptet, viser den teksten på konsollen. Det er den samme teksten som er definert i 'Steps.java' skript.

Scenario 2: Skriv inn påloggingsinformasjon og tilbakestill verdien.

Her vil vi bare gå inn på legitimasjon på Guru99 demo-påloggingsside og tilbakestille verdien

For scenario 2 trenger vi bare å oppdatere 'Steps.java' -skriptet. Her skriver vi faktisk selenskriptet som vist nedenfor. Først må vi legge til Selenium jar-fil i dette prosjektet.

Trinn 1) Her oppdaterer vi 'Steps.java' skriptet som vist i koden og skjermbildet nedenfor.

pakke StepDefinition;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.firefox.FirefoxDriver;importere agurk.api.java.en.Given;importer agurk.api.java.en. Deretter;importer agurk.api.java.en.Når;trinn i offentlig klasse {WebDriver driver;@Given ("Åpne Firefox og start applikasjonen $")offentlig tomrom åpner_Firefox_og_lansering_applikasjonen () kaster Kastbar{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = ny FirefoxDriver ();driver.manage (). vindu (). maksimere ();driver.get ("http://demo.guru99.com/v4");}@When ("Skriv inn brukernavn og passord $")offentlig ugyldig enter_the_Username_and_Password () kaster Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("password")). sendKeys ("password12");}@Then ("Tilbakestill legitimasjonen $")offentlig ugyldig Reset_the_credential () kaster Throwable{driver.findElement (By.name ("btnReset")). klikk ();}}

Skjermbilde av ovennevnte selenskript.

Trinn 2) Utfør skriptet.

Etter oppdatering kjører vi Runner.java.

Trinn 3) Analyser utdataene.

I utgangen kan du se følgende:

  • Nettleser lansert.
  • Guru99-bankens demoside blir åpnet.
  • Brukernavn og passord er plassert på påloggingssiden.
  • Tilbakestill verdiene.

Scenario 3: Skriv inn påloggingsinformasjon på Guru99 og tilbakestill verdien. Gjør dette for 3 datasett.

Her må vi oppdatere både 'Step.java' og funksjonsfilen.

Trinn 1) Oppdater funksjonsfilen som vist nedenfor:

Her oppdaterer vi funksjonsfilen med 'Scenario Outline' og 'examples' syntaks.

Funksjon: Tilbakestill funksjonalitet på påloggingssiden til applikasjonen

Scenario disposisjon: Bekreftelse av reset-knappen med antall legitimasjon

Gitt Åpne Firefox og start applikasjonen

Når skriv inn brukernavnet og passord

Tilbakestill deretter legitimasjonen

Eksempler:

| brukernavn | passord |

| Bruker1 | passord1 |

| Bruker2 | passord2 |

| Bruker3 | passord3 |

// I denne linjen definerer vi datasettet.

Trinn 2) Oppdater nå Step.java-skriptet.

Her oppdaterer vi metodene for å passere parametrene, oppdatert skript vist nedenfor:

pakke StepDefinition;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.firefox.FirefoxDriver;importere agurk.api.java.en.Given;importer agurk.api.java.en. Deretter;importer agurk.api.java.en.Når;trinn i offentlig klasse {WebDriver driver;@Given ("Åpne Firefox og start applikasjonen $")offentlig tomrom åpner_Firefox_og_lansering_applikasjonen () kaster Kastbar{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = ny FirefoxDriver ();driver.manage (). vindu (). maksimere ();driver.get ("www.demo.guru99.com/v4");}@When ("Skriv inn brukernavnet \" (. *) \ "Og passord \" (. *) \ "$")offentlig tomrom enter_the_Username_and_Password (String brukernavn, String passord) kaster Throwable{driver.findElement (By.name ("uid")). sendKeys (brukernavn);driver.findElement (By.name ("passord")). sendKeys (passord);}@Then ("Tilbakestill legitimasjonen $")offentlig ugyldig Reset_the_credential () kaster Throwable{driver.findElement (By.name ("btnReset")). klikk ();}}

Trinn 3) Utfør nå det oppdaterte skriptet.

Skjermbildet nedenfor viser vellykket gjennomføring av skriptet og tiden det tar av hvert datasett.

Trinn 4) Analyser utdataene.

I utgangen kan du se følgende:

Under utdata blir gjentatt for antall datasett, dvs. 3 sett.

  • Nettleser lansert.
  • Guru99-bankens demoside blir åpnet.
  • Brukernavn og passord er plassert på påloggingssiden.
  • Tilbakestill verdiene.

Konklusjon.

Agurk er et veldig populært BDD-verktøy. Det er lett å lese og kan forstås av alle interessenter, inkludert teknisk og ikke-teknisk person.

Agurk kan integreres med Selen ved å følge de tre trinnene

  1. Opprett funksjonsfil der du definerer funksjonen og scenariene trinn for trinn ved hjelp av Gherkin-språket.
  2. Opprett Testrunner-fil. I denne filen integrerte vi Agurk med BDD-rammeverk i Selen. Vi utfører dette skriptet.
  3. Opprett trinndefinisjon, det faktiske selenskriptet som er definert under denne pakken.