cucumber gherkin tutorial
In deze informatieve zelfstudie worden de voordelen van het komkommer-augurkraamwerk uitgelegd en wordt uitgelegd hoe u automatiseringsscripts schrijft met behulp van augurkentaal met duidelijke voorbeelden:
Komkommer is een tool gebaseerd op het Behavior Driven Development (BDD) framework. BDD is een methodologie om de functionaliteit van een applicatie te begrijpen in de eenvoudige weergave van platte tekst.
Het belangrijkste doel van het Behaviour Driven Development-raamwerk is om verschillende projectrollen, zoals Business Analisten, Quality Assurance, Developers, enz., De applicatie te laten begrijpen zonder diep in de technische aspecten te duiken.
De komkommertool wordt over het algemeen in realtime gebruikt om acceptatietests van een applicatie te schrijven. Komkommer tool biedt ondersteuning voor vele programmeertalen zoals Java, Ruby, .Net, etc. Het kan worden geïntegreerd met meerdere tools zoals Selenium, Capybara, etc.
Wat je leert:
- Wat is augurk?
- Voordelen van komkommer augurk Framework
- Integratie van komkommer met selenium
- Gevolgtrekking
Wat is augurk?
Augurk is de taal die wordt gebruikt door de komkommer-tool. Het is een eenvoudige Engelse weergave van het applicatiegedrag. Cucumber gebruikt het concept van feature-bestanden voor documentatiedoeleinden. De inhoud van de feature-bestanden is geschreven in de taal van de augurk.
In de volgende onderwerpen zullen we meer zien over de voordelen van het komkommer-augurkraamwerk, komkommer integreren met selenium, een feature-bestand en het bijbehorende stapdefinitiebestand en een voorbeeld-feature-bestand maken.
Algemene voorwaarden voor komkommer-augurkraam
Cucumber Gherkin-framework gebruikt bepaalde trefwoorden die essentieel zijn voor het schrijven van een feature-bestand.
De volgende termen worden het meest gebruikt in feature-bestanden:
# 1) functie:
Een feature-bestand moet een beschrijving op hoog niveau bevatten van een Application Under Test (AUT). De eerste regel van het feature-bestand moet beginnen met het trefwoord ‘Feature’ na de beschrijving vaneen applicatiewordt getest. Volgens de normen die door Cucumber worden voorgeschreven, moet het feature-bestand de volgende drie elementen als eerste regel bevatten.
- Feature trefwoord
- Functienaam
- Functiebeschrijving (optioneel)
Het feature-trefwoord moet worden gevolgd door een feature-naam. Het kan een optioneel beschrijvingsgedeelte bevatten dat meerdere regels van het feature-bestand kan omvatten. Een feature-bestand heeft de extensie .feature.
# 2) Scenario:
Een scenario is een testspecificatie van de te testen functionaliteit. Idealiter kan een feature-bestand een of meer scenario's bevatten als onderdeel van de feature. Een scenario omvat meerdere teststappen. Volgens de komkommernormen moet een scenario 3-5 teststappen bevatten, omdat langdurige scenario's hun expressieve kracht verliezen zodra het aantal stappen toeneemt.
Een scenario kan de volgende stappen bevatten:
- Actie die door een gebruiker moet worden uitgevoerd.
- Verwachte resultaten van de actie.
In Gherkin-taal moet een scenario de volgende trefwoorden bevatten:
- Gegeven
- Wanneer
- Vervolgens
- En
Gegeven:
Gegeven sleutelwoord wordt gebruikt om de randvoorwaarden te specificeren voor het uitvoeren van een specifiek scenario. Een scenario kan meer dan één gegeven uitspraken bevatten of er kunnen geen gegeven uitspraken zijn voor een scenario.
Wanneer:
Dit trefwoord wordt gebruikt om de actie of een gebeurtenis te specificeren die door de gebruiker wordt uitgevoerd, zoals het klikken op een knop, het invoeren van gegevens in het tekstvak enz. Er kunnen meerdere wanneer-uitspraken zijn in een enkel scenario.
Vervolgens:
Het trefwoord wordt vervolgens gebruikt om het verwachte resultaat van een actie die door de gebruiker wordt uitgevoerd, te specificeren. Idealiter moet het trefwoord When worden gevolgd door het trefwoord Then om het verwachte resultaat van gebruikersacties te begrijpen.
En:
En trefwoord wordt gebruikt als een voegwoord om meerdere uitspraken te combineren. Bijvoorbeeld meerdere gegeven- en wanneer-uitspraken in een scenario kunnen worden gecombineerd met het trefwoord ‘En’.
# 3) Scenario-overzicht:
Een scenario-overzicht is een manier om scenario's te parametriseren.
Dit wordt idealiter gebruikt wanneer hetzelfde scenario moet worden uitgevoerd voor meerdere sets gegevens, maar de teststappen hetzelfde blijven. Scenario-overzicht moet worden gevolgd door het trefwoord ‘Voorbeelden’, waarmee de set waarden voor elke parameter wordt gespecificeerd.
Hieronder ziet u het voorbeeld om het concept van Scenario-overzicht te begrijpen:
Voorbeeld:
Scenario-overzicht: Een bestand uploaden
Gegeven dat een gebruiker zich in het uploadbestandsscherm bevindt.
Wanneer de gebruiker klikt op de knop Bladeren.
En gebruiker komt in upload tekstvak.
En gebruiker klikt op de enter-knop.
Vervolgens controleert of het uploaden van het bestand is gelukt.
Voorbeelden:
| bestandsnaam |
| bestand1 |
| bestand2 |
Parameters binnen het scenario-overzicht moeten worden gespecificeerd met de tekens ‘’. Een lijst met datawaarden voor de parameter moet worden opgegeven met behulp van het Pipe-symbool (|).
# 4) Achtergrond:
Het trefwoord Background wordt gebruikt om meerdere gegeven uitspraken in een enkele groep te groeperen.
Dit wordt over het algemeen gebruikt wanneer dezelfde set gegeven instructies wordt herhaald in elk scenario van een feature-bestand. In plaats van de gegeven uitspraken voor elk scenario herhaaldelijk op te geven, kunnen ze worden gespecificeerd met het trefwoord ‘Achtergrond’ vóór het eerste scenario.
Voorbeeld:
Achtergrond:
De gegeven gebruiker staat op de aanmeldingspagina van de applicatie
Voordelen van komkommer augurk Framework
Hieronder vindt u de voordelen van het Cucumber Gherkin-framework dat van Cucumber een ideale keuze maakt voor de snel evoluerende Agile-methodologie in de hedendaagse zakenwereld:
- Komkommer is een open-source tool.
- De weergave van platte tekst maakt het voor niet-technische gebruikers gemakkelijker om de scenario's te begrijpen.
- Het overbrugt de communicatiekloof tussen verschillende belanghebbenden in het project, zoals bedrijfsanalisten, ontwikkelaars en kwaliteitsmanagementpersoneel.
- Testcases voor automatisering die zijn ontwikkeld met behulp van de Cucumber-tool, zijn gemakkelijker te onderhouden en te begrijpen.
- Gemakkelijk te integreren met andere tools zoals Selenium en Capibara.
Integratie van komkommer met selenium
Komkommer en selenium zijn de twee krachtigste functionele testtools. De integratie van komkommer met Selenium Webdriver helpt verschillende niet-technische leden van een projectteam om de applicatiestroom te begrijpen.
Hieronder staan de te volgen stappen voor de integratie van Cucumber met Selenium Webdriver:
Stap 1:
Komkommer kan worden geïntegreerd met de Selenium Webdriver door de benodigde JAR-bestanden te downloaden.
Hieronder staat de lijst met JAR-bestanden die moeten worden gedownload voor het gebruik van Cucumber met Selenium Webdriver:
- dekking-2.1.1.jar
- komkommer-kern-1.2.2.jar
- komkommer-java-1.2.2.jar
- komkommer-junit-1.2.2.jar
- komkommer-jvm-deps-1.0.3.jar
- komkommer-rapportage-0.1.0.jar
- augurk-2.12.2.jar
- hamcrest-core-1.3.jar
- junit-4.11.jar
De bovenstaande JAR-bestanden kunnen worden gedownload van de Maven website
Elk van de bovenstaande JAR-bestanden moet afzonderlijk van de bovenstaande website worden gedownload.
Stap 2:
Maak een nieuw project in de Eclipse en voeg de bovenstaande JAR-bestanden toe aan het project. Om de JAR-bestanden aan het project toe te voegen, klikt u met de rechtermuisknop op het project -> Build Path -> Build Path configureren.
Klik op Voeg externe JAR's toe knop en voeg de lijst met bovenstaande JAR-bestanden toe aan het project.
Stap 3:
Voordat we de feature-bestanden en step-definitiebestanden maken, moeten we een Natural-plug-in in Eclipse installeren. U kunt dit doen door het URL op Help -> Nieuwe software installeren -> URL
Klik op de Volgende knop om de plug-in in Eclipse te installeren.
Een functiebestand maken
Maak afzonderlijke mappen voor feature-bestanden en stapdefinitiebestanden in de projectstructuur. Stapdefinitiebestanden bevatten Java-coderingsregels, terwijl het functiebestand Engelse verklaringen in de vorm van augurken bevat.
- Maak een aparte map voor het opslaan van feature-bestanden door met de rechtermuisknop op het project te klikken -> Nieuw -> Pakket
- Feature-bestand kan worden gemaakt door te navigeren naar Right Click op het project / pakket -> Nieuw -> Bestand
- Geef een naam op voor het feature-bestand. Feature-bestand moet worden gevolgd door de extensie .feature
- De projectstructuur moet eruitzien als de onderstaande structuur.
Een stapdefinitiebestand maken
Elke stap van het feature-bestand moet worden toegewezen aan een corresponderende stapdefinitie. Tags die in het bestand Cucumber Gherkin worden gebruikt, moeten worden toegewezen aan de stapdefinitie door de tags @Given, @When en @Then te gebruiken.
Het volgende is de syntaxis van een stapdefinitiebestand:
Syntaxis:
@TagName ('^ Stapnaam $')
Public void methodName ()
Methode Definitie
wat is uw aanpak bij het testen van mobiele applicaties
Stapnamen moeten worden voorafgegaan door het symbool karaat (^) en achtervoegsel door het symbool ($). Methodenaam kan elke geldige naam zijn die acceptabel is volgens de Java-coderingsnormen. De methodedefinitie omvat coderingsinstructies in Java of een andere programmeertaal naar keuze van de tester.
Voorbeelden van functiebestanden en stapdefinitiebestanden
Voor het maken van een feature-bestand en een step-definitiebestand kan het volgende scenario worden gebruikt:
Scenario:
- Open de inlogpagina van een te testen applicatie.
- Voer de gebruikersnaam in
- Voer het wachtwoord in
- Klik op de Login-knop.
- Controleer of het inloggen van de gebruiker is gelukt.
Functiebestand:
Het bovenstaande scenario kan worden geschreven in de vorm van een feature-bestand, zoals hieronder:
Voorzien zijn van: Log in op een te testen applicatie.
Scenario: Log in op de applicatie.
Gegeven Open de Chrome-browser en start de applicatie.
Wanneer De gebruiker voert de gebruikersnaam in het veld Gebruikersnaam in.
En De gebruiker voert een wachtwoord in het veld Wachtwoord in.
Wanneer De gebruiker klikt op de knop Inloggen.
Stapdefinitiebestand:
In de bovenstaande functie kan een bestand worden toegewezen aan het bijbehorende stapdefinitiebestand, zoals hieronder wordt weergegeven. Houd er rekening mee dat om een koppeling tussen het feature-bestand en het step-definitiebestand te maken, een testrunner-bestand moet worden gemaakt.
Hieronder ziet u de weergave van het stapdefinitiebestand volgens het functiebestand.
De TestRunner-klasse wordt gebruikt om de link te bieden tussen feature-bestand en step-definitiebestand. Hieronder ziet u een voorbeeldweergave van hoe de TestRunner-klasse eruitziet. Een TestRunner-klasse is over het algemeen een lege klasse zonder klassedefinitie.
We moeten het TestRunner-klassebestand uitvoeren voor het uitvoeren van functiebestanden en stapdefinitiebestanden.
Voorbeelden
Hieronder ziet u de weergave van de functiebestanden van verschillende scenario's.
Voorbeeld 1:
Om te controleren of de gebruikersnaam en het wachtwoord beschikbaar zijn op de inlogpagina:
Voorzien zijn van: Controleer de weergave van gebruikersnaam- en wachtwoordvelden op een aanmeldingspagina.
Scenario: Om de weergave van gebruikersnaam- en wachtwoordvelden te verifiëren.
Gegeven De gebruiker opent de Firefox-browser en navigeert naar de te testen applicatie.
Wanneer De gebruiker navigeert naar een aanmeldingspagina.
Vervolgens Controleer de weergave van het gebruikersnaamveld op de aanmeldingspagina.
En Controleer de weergave van het wachtwoordveld op de aanmeldingspagina.
Voorbeeld 2:
Hieronder ziet u het voorbeeld van een scenario-overzichtszoekwoord in Komkommer-augurk:
Voorzien zijn van: Controleer of het inloggen is geslaagd voor meerdere sets testgegevens.
Scenario-overzicht: Om te controleren of het inloggen is geslaagd voor meerdere sets testgegevens.
Gegeven Open de Chrome-browser en start de applicatie.
Wanneer De gebruiker komt in het veld UserName.
En De gebruiker voert het veld Wachtwoord in.
Wanneer De gebruiker klikt op de knop Inloggen.
Voorbeelden:
| gebruikersnaam | wachtwoord |
| gebruiker1 | wachtwoord1 |
| gebruiker2 | wachtwoord2 |
Gevolgtrekking
- BDD is een methodologie om de functionaliteit van een applicatie te begrijpen in eenvoudige tekstweergave.
- Cucumber is een tool die Behavior Driven Development gebruikt om acceptatietests van een applicatie te schrijven. Het wordt gebruikt om de communicatiekloof tussen verschillende projectstakeholders te overbruggen.
- Het belangrijkste gebruik van Cucumber ligt in de eenvoud om het gebruik van feature-bestanden door niet-technische gebruikers te begrijpen.
Het is nog niet te laat om deze komkommer-tool eens te proberen in de taal van augurk.
Aanbevolen literatuur
- Geb-zelfstudie - Browserautomatisering testen met Geb Tool
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Automatiseringstests met behulp van komkommer-tool en selenium - Selenium-zelfstudie # 30
- Wat is automatiseringstesten (ultieme gids om testautomatisering te starten)
- Spock-zelfstudie: testen met Spock en Groovy
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Tutorial over destructief testen en niet-destructief testen
- Functioneel testen versus niet-functioneel testen