In deze tutorial leer je hoe je Cucumber integreert met Selenium Webdriver.
Wat is komkommer?
Komkommer is een testaanpak die Behavior Driven Development (BDD) ondersteunt. Het verklaart het gedrag van de applicatie in een eenvoudige Engelse tekst met behulp van augurken.
Meer informatie op - https://www.guru99.com/cucumber-tutorials.html
Wat is selenium?
Selenium is een automatiseringstool voor Functioneel testen van de webgebaseerde applicatie. Selenium ondersteunt verschillende talen zoals java, ruby, python C #, etc.
Meer informatie op - https://www.guru99.com/selenium-tutorial.html
In deze Komkommer-tutorial zullen we leren-
- Waarom komkommer met selenium gebruiken?
- Voorwaarde voor het gebruik van komkommer met selenium.
- Automatiseringstests met komkommer met selenium.
- Scenario 1: tekst afdrukken in de console.
- Scenario 2: Voer inloggegevens in en reset de waarde.
- Scenario 3: Voer inloggegevens in op Guru99 en reset de waarde. Doe dit voor 3 sets gegevens.
Waarom komkommer met selenium gebruiken?
Komkommer en selenium zijn twee populaire technologieën.
De meeste organisaties gebruiken Selenium voor functionele testen. Deze organisaties die Selenium gebruiken, willen Selenium integreren met Cucumber, want Cucumber maakt het gemakkelijk om de applicatiestroom te lezen en te begrijpen.
De komkommer-tool is gebaseerd op het Behavior Driven Development-raamwerk dat fungeert als de brug tussen de volgende mensen:
- Software-ingenieur en bedrijfsanalist.
- Handmatige tester en automatiseringstester.
- Handmatige tester en ontwikkelaars.
Het komkommer BDD-framework helpt de klant ook om de applicatiecode te begrijpen, aangezien het augurken-taal gebruikt die in platte tekst is. Iedereen in de organisatie kan het gedrag van de software begrijpen. De syntaxis van augurk is in eenvoudige tekst die leesbaar en begrijpelijk is.
Voorwaarde voor het gebruik van komkommer met selenium
Voordat we beginnen met de integratie van Cucumber Selenium, hebben we de volgende items nodig:
- Selenium jar-bestanden:
- Selenium-server-standalone
Kan worden gedownload op http://www.seleniumhq.org/download/
Jar-bestanden voor komkommer:
- Komkommer-kern
- Komkommer-html
- cobertura code dekking
- Komkommer-java
- Komkommer-junit
- Komkommer-jvm-deps
- Komkommer-rapportage
- Hemcrest-kern
- Augurk
- Junit
Kan worden gedownload op https://mvnrepository.com/search?q=Cucumber
U moet bestanden zoeken en ze een voor een afzonderlijk downloaden.
We laten u bijvoorbeeld zien hoe u een van de jar-bestanden downloadt, dwz "Cucumber-core".
Klik op de bovenstaande downloadlink. Het verwijst door naar de onderstaande site. Zoek nu de specifieke pot, dwz 'Cucumber Core' zoals hieronder weergegeven:
Klik op de volgende pagina op versie 1.2.2,
Klik in het volgende scherm op downloaden om het 'Cucumber Core'-jar-bestand te krijgen.
Opmerking : voor uw gemak hebben we de jar-bestanden die nodig zijn om te downloaden van Maven hier gebundeld. Na verloop van tijd kunnen deze potten worden bijgewerkt en incompatibel worden. U wordt verzocht ze te downloaden met behulp van de hierboven geïllustreerde methode.
Automatiseringstests met komkommer met selenium.
Laten we de stappen bestuderen om stap voor stap komkommer met selenium te gebruiken. Hier behandelen we 3 scenario's:
- Scenario 1: tekst afdrukken in de console.
- Scenario 2: Voer inloggegevens in en reset de waarde.
- Scenario 3: Voer inloggegevens in op Guru99 en reset de waarde. Doe dit voor 3 sets gegevens.
Scenario 1: tekst afdrukken in de console.
In dit scenario drukken we gewoon de tekst in de console af met behulp van komkommer.
Stap 1) Maak een project in eclips.
Maak een Java-project met de naam "CucumberWithSelenium" zoals weergegeven in de onderstaande schermafbeelding.
Stap 2) Jar-bestanden toevoegen aan het project.
Klik met de rechtermuisknop op het project> Eigenschappen selecteren> Ga naar Java-bouwpad. Voeg alle eerder gedownloade bibliotheken toe.
Stap 3) Feature-bestand maken
Maak voor het maken van een feature-bestand eerst een feature-map aan zoals hieronder getoond.
Voer nu de mapnaam 'Functies' in en klik op de knop 'Voltooien'.
Maak nu een feature-bestand in de 'Features'-map met de naam "MyTest.feature" - Proces is vergelijkbaar met het maken van een map
Opmerking: mogelijk moet u de Cucumber Eclipse-plug-in installeren om dit te laten werken. Ga naar - Helpt-> Nieuwe software installeren-> kopieer en plak de link http://cucumber.github.io/cucumber-eclipse/update-site/ en installeer
Stap 4) Schrijf scenario's.
De onderstaande regels zijn geschreven in het 'MyTest.feature'-bestand met de Gherkin-taal zoals hieronder weergegeven:
Functie: Reset-functionaliteit op inlogpagina van applicatie
Scenario: verificatie van de resetknop
Gezien Open Firefox en start de applicatie
Wanneer Voer de gebruikersnaam en het wachtwoord in
Stel vervolgens de inloggegevens opnieuw in
Code Verklaring
Regel 1) In deze regel schrijven we zakelijke functionaliteit.
Regel 2) In deze regel schrijven we een scenario om te testen.
Regel 3) In deze regel definiëren we de randvoorwaarde.
Regel 4) In deze regel definiëren we de actie die we moeten uitvoeren.
Regel 4) In deze regel definiëren we het verwachte resultaat of resultaat.
Stap 5) Schrijven van selenium testrunner script voor Selenium Cucumber framework design
Hier maken we het 'TestRunner'-pakket en vervolgens het' Runner.java'-klassebestand eronder.
pakket TestRunner;importeer org.junit.runner.RunWith;import komkommer.api.CucumberOptions;import komkommer.api.junit.Cucumber;@RunWith (Cucumber.class)@CucumberOptions (features = "Features", glue = {"StepDefinition"})openbare klasse Runner
In de bovenstaande Cucumber Java-voorbeeldcode voeren we de komkommertest uit met behulp van de volgende annotaties:
@RunWith () annotatie vertelt over de testrunner- klasse om onze tests uit te voeren.
@CucmberOptions () annotatie wordt gebruikt om enkele eigenschappen voor onze komkommertest in te stellen, zoals feature-bestand, stapdefinitie , enz.
Screenshot van het TestRunner-bestand.
Stap 6) Een Step Definition-script maken.
Nu maken we hier het 'StepDefinition'-pakket en vervolgens het' Steps.java'-scriptbestand eronder. Hier schrijven we eigenlijk een seleniumscript om de test uit te voeren onder Cucumber-methoden.
pakket StepDefinition;import komkommer.api.java.en.Given;importeer cucumber.api.java.en.Then;importeer cucumber.api.java.en.When;openbare lesstappen {@Given ("Open Firefox en start de applicatie $")openbare leegte open_the_Firefox_and_launch_the_application () gooit ThrowableSystem.out.println ("Deze stap opent Firefox en start de applicatie.");@When ("Voer de gebruikersnaam en het wachtwoord $ in)public void enter_the_Username_and_Password () gooit ThrowableSystem.out.println ("Voer deze stap de gebruikersnaam en het wachtwoord in op de inlogpagina.");@Then ("Reset de referentie $")public void Reset_the_credential () gooit ThrowableSystem.out.println ("Deze stap klik op de Reset-knop.");
In de bovenstaande code wordt de klas gemaakt met de naam 'Steps'. Komkommerannotatie wordt gebruikt om in kaart te brengen met feature-bestand. Elke annotatiemethode is gedefinieerd:
@Gegeven annotatie definieer methode om firefox te openen en de applicatie te starten
@Wanneer annotatie de methode definieert om de gebruikersnaam en het wachtwoord in te voeren
@Definieer vervolgens de annotatiemethode om de referentie opnieuw in te stellen
Bij elke methode drukken we alleen een bericht af.
Hieronder ziet u de schermafbeelding van het 'Steps.java'-script en de projectboom, hoe het eruit ziet.
Opmerking: de stapdefinitie is niets anders dan de stappen die u onder deze komkommermethode wilt uitvoeren.
Stap 7) Het script uitvoeren.
De gebruiker kan dit script uitvoeren vanuit het Testrunner-script, dwz 'Runner.java' zoals weergegeven in de onderstaande schermafbeelding.
Stap 8) Analyseer de output.
Bij het uitvoeren van het 'Runner.java'-script, wordt de tekst op de console weergegeven. Het is dezelfde tekst die is gedefinieerd in het 'Steps.java'-script.
Scenario 2: Voer inloggegevens in en reset de waarde.
Hier zullen we gewoon inloggegevens invoeren op de Guru99 demo-inlogpagina en de waarde resetten
Voor scenario 2 hoeven we alleen het 'Steps.java'-script bij te werken. Hier schrijven we eigenlijk het seleniumscript zoals hieronder weergegeven. Eerst moeten we een Selenium-jar-bestand aan dit project toevoegen.
Stap 1) Hier werken we het 'Steps.java'-script bij zoals weergegeven in de onderstaande code en screenshot.
pakket StepDefinition;import org.openqa.selenium.By;importeer org.openqa.selenium.WebDriver;importeer org.openqa.selenium.firefox.FirefoxDriver;import komkommer.api.java.en.Given;importeer cucumber.api.java.en.Then;importeer cucumber.api.java.en.When;openbare lesstappen {WebDriver-stuurprogramma;@Given ("Open Firefox en start de applicatie $")openbare leegte open_the_Firefox_and_launch_the_application () gooit ThrowableSystem.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = nieuwe FirefoxDriver ();driver.manage (). window (). maximaliseren ();driver.get ("http://demo.guru99.com/v4");@When ("Voer de gebruikersnaam en het wachtwoord $ in)public void enter_the_Username_and_Password () gooit Throwabledriver.findElement (By.name ("uid")). sendKeys ("gebruikersnaam12");driver.findElement (By.name ("wachtwoord")). sendKeys ("wachtwoord12");@Then ("Reset de referentie $")public void Reset_the_credential () gooit Throwabledriver.findElement (By.name ("btnReset")). click ();
Screenshot van het bovenstaande seleniumscript.
Stap 2) Voer het script uit.
Na het updaten draaien we de Runner.java.
Stap 3) Analyseer de output.
In de uitvoer zie je het volgende:
- Browser gestart.
- De demo-site van Guru99 bank wordt geopend.
- Gebruikersnaam en wachtwoord worden op de inlogpagina geplaatst.
- Reset de waarden.
Scenario 3: Voer inloggegevens in op Guru99 en reset de waarde. Doe dit voor 3 sets gegevens.
Hier moeten we zowel de 'Step.java' als het feature-bestand bijwerken.
Stap 1) Werk het feature-bestand bij zoals hieronder weergegeven:
Hier werken we het functiebestand bij met de syntaxis 'Scenario-overzicht' en 'voorbeelden'.
Functie: Reset-functionaliteit op inlogpagina van applicatie
Scenario-overzicht: verificatie van de resetknop met inloggegevens
Gezien Open Firefox en start de applicatie
Wanneer Voer de gebruikersnaam
en wachtwoord in Stel vervolgens de inloggegevens opnieuw in
Voorbeelden:
| gebruikersnaam | wachtwoord |
| Gebruiker1 | wachtwoord1 |
| Gebruiker2 | wachtwoord2 |
| Gebruiker3 | wachtwoord3 |
// In deze regel definiëren we de set gegevens.
Stap 2) Werk nu het Step.java-script bij.
Hier werken we de methoden bij om de parameters door te geven, het bijgewerkte script hieronder weergegeven:
pakket StepDefinition;import org.openqa.selenium.By;importeer org.openqa.selenium.WebDriver;importeer org.openqa.selenium.firefox.FirefoxDriver;import komkommer.api.java.en.Given;importeer cucumber.api.java.en.Then;importeer cucumber.api.java.en.When;openbare lesstappen {WebDriver-stuurprogramma;@Given ("Open Firefox en start de applicatie $")openbare leegte open_the_Firefox_and_launch_the_application () gooit ThrowableSystem.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = nieuwe FirefoxDriver ();driver.manage (). window (). maximaliseren ();driver.get ("www.demo.guru99.com/v4");@When ("Voer de gebruikersnaam \" (. *) \ "En wachtwoord \" (. *) \ "$" In)public void enter_the_Username_and_Password (String gebruikersnaam, String wachtwoord) gooit Throwabledriver.findElement (By.name ("uid")). sendKeys (gebruikersnaam);driver.findElement (By.name ("wachtwoord")). sendKeys (wachtwoord);@Then ("Reset de referentie $")public void Reset_the_credential () gooit Throwabledriver.findElement (By.name ("btnReset")). click ();
Stap 3) Voer nu het bijgewerkte script uit.
Het onderstaande scherm toont de succesvolle uitvoering van het script en de tijd die elke set gegevens in beslag neemt.
Stap 4) Analyseer de output.
In de uitvoer zie je het volgende:
Onderstaande uitvoer wordt herhaald voor het aantal gegevenssets, dwz 3 sets.
- Browser gestart.
- De demo-site van Guru99 bank wordt geopend.
- Gebruikersnaam en wachtwoord worden op de inlogpagina geplaatst.
- Reset de waarden.
Gevolgtrekking.
Komkommer is een erg populaire BDD-tool. Het is gemakkelijk te lezen en kan worden begrepen door alle belanghebbenden, inclusief technische en niet-technische personen.
Komkommer kan worden geïntegreerd met Selenium door de volgende 3 stappen te volgen
- Maak een feature-bestand waarin u de functie en scenario's stap voor stap definieert met behulp van Gherkin-taal.
- Maak een Testrunner-bestand. In dit bestand hebben we Cucumber geïntegreerd met BDD-framework in Selenium. We voeren dit script uit.
- Creat Step-definitie, het daadwerkelijke seleniumscript dat onder dit pakket is gedefinieerd.