I denne vejledning lærer du, hvordan du integrerer agurk med Selenium Webdriver.
Hvad er agurk?
Agurk er en testtilgang, der understøtter Behavior Driven Development (BDD). Det forklarer applikationens opførsel i en simpel engelsk tekst ved hjælp af agurkesprog.
Få flere oplysninger på - https://www.guru99.com/cucumber-tutorials.html
Hvad er selen?
Selen er et automatiseringsværktøj til funktionstest af den webbaserede applikation. Selen understøtter forskellige sprog som java, rubin, python C # osv.
Få flere oplysninger på - https://www.guru99.com/selenium-tutorial.html
I denne Agurk-tutorial lærer vi-
- Hvorfor bruge agurk med selen?
- Forudsætning for brug af agurk med selen.
- Automatiseringstest ved hjælp af agurk med selen.
- Scenarie 1: Udskriv tekst i konsollen.
- Scenarie 2: Indtast loginoplysninger og nulstil værdien.
- Scenarie 3: Indtast login-legitimationsoplysninger på Guru99 & nulstil værdien. Gør dette i 3 sæt data.
Hvorfor bruge agurk med selen?
Agurk og selen er to populære teknologier.
De fleste organisationer bruger Selen til funktionel test. Disse organisationer, der bruger selen, ønsker at integrere selen med agurk, da agurk gør det let at læse og forstå applikationsstrømmen.
Agurkværktøj er baseret på Behavior Driven Development-rammen, der fungerer som broen mellem følgende personer:
- Softwareingeniør og forretningsanalytiker.
- Manuel test og automatiseringstest.
- Manuel test og udviklere.
Agurk BDD-ramme gavner også klienten til at forstå applikationskoden, da den bruger agurkesprog, der er i almindelig tekst. Alle i organisationen kan forstå softwarens opførsel. Syntaksen for agurk er i enkel tekst, der er læselig og forståelig.
Forudsætning for brug af agurk med selen
Før vi starter agurkselenintegration, har vi brug for følgende emner:
- Selen jar-filer:
- Selen-server-standalone
Kan downloades på http://www.seleniumhq.org/download/
Krukkefiler til agurk:
- Agurk-kerne
- Agurk-html
- cobertura-kodedækning
- Agurk-java
- Agurk-junit
- Agurk-jvm-deps
- Agurk-rapportering
- Hemcrest-kerne
- Agurk
- Junit
Kan downloades på https://mvnrepository.com/search?q=Cucumber
Du skal søge i filer og downloade dem en efter en individuelt.
For eksempel viser vi dig at downloade en af jar-filerne, dvs. "Agurkerne".
Klik på ovenstående downloadlink. Den omdirigerer til nedenstående websted. Søg nu i den særlige krukke, dvs. 'Agurkekerne' som vist skærmbillede nedenfor:
Klik på version 1.2.2 på den næste side,
På det næste skærmbillede skal du klikke på download for at få jar-filen 'Cucumber Core'.
Bemærk : For din lethed har vi samlet de jar-filer, der kræves for at blive downloadet fra Maven her. Med tiden opdateres disse krukker måske og bliver inkompatible. Du bliver bedt om at downloade dem ved hjælp af metoden illustreret ovenfor.
Automatiseringstest ved hjælp af agurk med selen.
Lad os studere trin for at bruge agurk med selen trin for trin. Her dækker vi 3 scenarier:
- Scenarie 1: Udskriv tekst i konsollen.
- Scenarie 2: Indtast loginoplysninger og nulstil værdien.
- Scenarie 3: Indtast login-legitimationsoplysninger på Guru99 & nulstil værdien. Gør dette i 3 sæt data.
Scenarie 1: Udskriv tekst i konsollen.
I dette scenarie udskriver vi bare teksten i konsollen ved hjælp af agurk.
Trin 1) Opret projekt i formørkelse.
Opret Java-projekt med navnet "CucumberWithSelenium" som vist i nedenstående skærmbillede.
Trin 2) Tilføjelse af Jar-filer i projektet.
Højreklik på projektet> Vælg egenskaber> Gå til Java Build-sti. Tilføj alle de tidligere downloadede biblioteker.
Trin 3) Oprettelse af funktionsfil
For at oprette funktionsfil skal du først oprette funktionsmappen som vist nedenstående skærmbillede.
Indtast nu mappenavn 'Funktioner' og klik på 'Udfør' -knappen.
Opret nu funktionsfil i 'Features' -mappen med navnet "MyTest.feature" - Processen ligner oprettelse af en mappe
Bemærk: Du skal muligvis installere agurk Eclipse Plugin for at dette fungerer. Gå til - Hjælp-> Installer ny software-> kopier indsæt linket http://cucumber.github.io/cucumber-eclipse/update-site/ og installer
Trin 4) Skriv scenarier.
Nedenstående linjer er skrevet i 'MyTest.feature' fil ved hjælp af agurkesproget som vist nedenfor:
Funktion: Nulstil funktionalitet på login-siden i applikationen
Scenarie: Bekræftelse af reset-knappen
Givet Åbn Firefox, og start applikationen
Når indtast brugernavn og adgangskode
Nulstil derefter legitimationsoplysningerne
Kode Forklaring
Linje 1) I denne linje skriver vi forretningsfunktionalitet.
Linje 2) I denne linje skriver vi et scenarie, der skal testes.
Linie 3) I denne linje definerer vi forudsætningen.
Linie 4) I denne linje definerer vi den handling, vi skal udføre.
Linie 4) I denne linje definerer vi det forventede resultat eller resultat.
Trin 5) Skrivning af selen testrunner script til Selenium Agurk framework design
Her opretter vi 'TestRunner' pakke og derefter 'Runner.java' klassefil under den.
pakke TestRunner;import org.junit.runner.RunWith;import agurk.api.CucumberOptions;importere agurk.api.junit.Gurke;@RunWith (Agurk.klasse)@CucumberOptions (features = "Features", lim = {"StepDefinition"})offentlig klasse løber{}
I ovenstående eksempel på agurk Java-kode kører vi agurktesten ved hjælp af følgende kommentarer:
@RunWith () kommentar fortæller om testløberklassen, der skal begynde at udføre vores test.
@CucmberOptions () -notering bruges til at indstille nogle egenskaber til vores agurktest som funktionsfil, trindefinition osv.
Skærmbillede af TestRunner-filen.
Trin 6) Oprettelse af Step Definition-script.
Nu opretter vi 'StepDefinition' pakke og derefter 'Steps.java' scriptfil under den. Her skriver vi faktisk et selen-script til at udføre testen under agurkmetoder.
pakke StepDefinition;importer agurk.api.java.en.Givet;importer agurk.api.java.en.Then;importer agurk.api.java.en.Når;trin i offentlig klasse {@Given ("Åbn Firefox, og start applikationen $")offentligt ugyldigt åbent_Firefox_og_start_applikation () kaster Kastbar{System.out.println ("Dette trin åbner Firefox og starter applikationen.");}@When ("Indtast brugernavn og adgangskode $")offentligt ugyldigt enter_brugernavn_og adgangskode () kaster kastbar{System.out.println ("Dette trin skal du indtaste brugernavn og adgangskode på login-siden.");}@Then ("Nulstil legitimationsoplysninger $")offentligt ugyldigt Reset_the_credential () kaster Throwable{System.out.println ("Dette trin skal du klikke på knappen Nulstil.");}}
I ovenstående kode oprettes klassen med navnet 'Trin'. Agurkanotering bruges til at kortlægge med funktionsfil. Hver annoteringsmetode er defineret:
@Given annotation definer metode til at åbne firefox og starte applikationen
@Når annotering definerer metode til at indtaste brugernavn og adgangskode
@ Derefter defineres annotering metode til at nulstille legitimationsoplysninger
Under hver metode udskriver vi kun en besked.
Nedenfor er skærmbilledet af scriptet 'Steps.java' og projekttræ, hvordan det ser ud.
Bemærk: Trindefinition er intet andet end de trin, du vil udføre under denne agurkemetode.
Trin 7) Udførelse af scriptet.
Brugeren kan udføre dette script fra Test runner-script, dvs. 'Runner.java' som vist i nedenstående skærmbillede.
Trin 8) Analyser output.
Ved udførelse af 'Runner.java' scriptet viser det teksten på konsollen. Det er den samme tekst, der er defineret i 'Steps.java' script.
Scenarie 2: Indtast loginoplysninger og nulstil værdien.
Her skal vi bare indtaste Credential på Guru99-demo-login-siden og nulstille værdien
I scenarie 2 skal vi kun opdatere 'Steps.java' script. Her skriver vi faktisk selen-scriptet som vist nedenstående trin. Først skal vi tilføje Selenium jar-fil til dette projekt.
Trin 1) Her opdaterer vi 'Steps.java' scriptet som vist i nedenstående kode og skærmbillede.
pakke StepDefinition;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;importer agurk.api.java.en.Givet;importer agurk.api.java.en.Then;importer agurk.api.java.en.Når;trin i offentlig klasse {WebDriver driver;@Given ("Åbn Firefox, og start applikationen $")offentligt ugyldigt åbent_Firefox_og_start_applikation () kaster Kastbar{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = ny FirefoxDriver ();driver.manage (). vindue (). maksimere ();driver.get ("http://demo.guru99.com/v4");}@When ("Indtast brugernavn og adgangskode $")offentligt ugyldigt enter_brugernavn_og adgangskode () kaster kastbar{driver.findElement (By.name ("uid")). sendKeys ("brugernavn12");driver.findElement (By.name ("password")) sendKeys ("password12");}@Then ("Nulstil legitimationsoplysninger $")offentligt ugyldigt Reset_the_credential () kaster Throwable{driver.findElement (By.name ("btnReset")). klik ();}}
Skærmbillede af ovenstående selen-script.
Trin 2) Udfør scriptet.
Efter opdatering kører vi Runner.java.
Trin 3) Analyser output.
I output kan du se følgende:
- Browser lanceret.
- Guru99-bankens demo-site åbnes.
- Brugernavn og adgangskode er placeret på login-siden.
- Nulstil værdierne.
Scenarie 3: Indtast login-legitimationsoplysninger på Guru99 & nulstil værdien. Gør dette i 3 sæt data.
Her skal vi opdatere både 'Step.java' og funktionsfilen.
Trin 1) Opdater funktionsfilen som vist nedenfor:
Her opdaterer vi funktionsfilen med 'Scenario Outline' og 'eksempler' syntaks.
Funktion: Nulstil funktionalitet på login-siden i applikationen
Scenariooversigt: Bekræftelse af reset-knappen med antal legitimationsoplysninger
Givet Åbn Firefox, og start applikationen
Når du indtaster brugernavnet
og adgangskode Nulstil derefter legitimationsoplysningerne
Eksempler:
| brugernavn | adgangskode |
| Bruger1 | adgangskode1 |
| Bruger2 | adgangskode2 |
| Bruger3 | adgangskode3 |
// I denne linje definerer vi datasættet.
Trin 2) Opdater nu Step.java-scriptet.
Her opdaterer vi metoderne til at passere parametrene, opdateret script vist nedenfor:
pakke StepDefinition;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;importer agurk.api.java.en.Givet;importer agurk.api.java.en.Then;importer agurk.api.java.en.Når;trin i offentlig klasse {WebDriver driver;@Given ("Åbn Firefox, og start applikationen $")offentligt ugyldigt åbent_Firefox_og_start_applikation () kaster Kastbar{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = ny FirefoxDriver ();driver.manage (). vindue (). maksimere ();driver.get ("www.demo.guru99.com/v4");}@When ("Indtast brugernavnet \" (. *) \ "Og adgangskode \" (. *) \ "$")offentligt ugyldigt enter_brugernavn_og adgangskode (streng brugernavn, strengadgangskode) kaster kastbar{driver.findElement (By.name ("uid")). sendKeys (brugernavn);driver.findElement (By.name ("password")). sendKeys (password);}@Then ("Nulstil legitimationsoplysninger $")offentligt ugyldigt Reset_the_credential () kaster Throwable{driver.findElement (By.name ("btnReset")). klik ();}}
Trin 3) Udfør nu det opdaterede script.
Nedenstående skærmbillede viser den vellykkede udførelse af scriptet og den tid, det tager af hvert datasæt.
Trin 4) Analyser output.
I output kan du se følgende:
Nedenstående output gentages for antallet af datasæt, dvs. 3 sæt.
- Browser lanceret.
- Guru99-bankens demo-site åbnes.
- Brugernavn og adgangskode er placeret på login-siden.
- Nulstil værdierne.
Konklusion.
Agurk er et meget populært BDD-værktøj. Det er let at læse og kan forstås af alle interessenter inklusive teknisk og ikke-teknisk person.
Agurk kan integreres med selen ved hjælp af følgende 3 trin
- Opret funktionsfil, hvor du definerer funktionen og scenarier trin for trin ved hjælp af agurkesprog.
- Opret Testrunner-fil. I denne fil integrerede vi agurk med BDD-ramme i selen. Vi udfører dette script.
- Opret trindefinition, det egentlige selen-script defineret under denne pakke.