Creëer je eerste Cucumber Script (2 voorbeelden)
⚡ Slimme samenvatting
Cucumber Met scriptuitvoering kunt u Gherkin-scenario's in eenvoudige taal omzetten in uitvoerbare geautomatiseerde tests met behulp van stapdefinitiebestanden. Hierdoor kunnen teams gedrag valideren, de intentie delen met belanghebbenden en betrouwbare, op BDD gebaseerde projecten opleveren. Cucumber or Cucumber-JVM.

In deze handleiding ga je het volgende maken: Cucumber Scripts om twee scenario's te testen met behulp van Gherkin-syntaxis en stapdefinitiebestanden. Cucumber is een populair BDD-framework dat Feature-bestanden in platte taal koppelt aan uitvoerbare testcode, zodat businessanalisten en ontwikkelaars kunnen samenwerken aan dezelfde specificaties.
Cucumber Script 1: Vermenigvuldig 2 Numbers
In deze eerste Cucumber Bijvoorbeeld, je schrijft een eenvoudig Feature-bestand dat twee getallen vermenigvuldigt en maakt vervolgens een bijbehorend Step Definition-bestand in Ruby. Dezelfde workflow is van toepassing als je gebruikmaakt van Cucumber-JVM 7.x met Java of Kotlin in IntelliJ IDEA.
Stap 1) Open RubyMine Editor via de Windows start menu.
Stap 2) Klik in de RubyMine-editor op 'Nieuw project maken'.
Stap 3) Selecteer de projectlocatie en klik op 'Maken'.
Stap 4) Maak een bestandsmap aan in de projectroot voor uw featurebestanden.
Stap 5) Geef de map de naam "Features". Cucumber Deze map wordt automatisch gescand.
Stap 6) Maak een bestand aan en sla het op in “jouwmap/functies/” met de naam “jouwbestandsnaam.functie”.
Klik hier als de video niet toegankelijk is
Stap 7) Om het scenario uit te voeren, slaat u het volgende programma op in het Feature-bestand. Let op hoe Gherkin-sleutelwoorden zoals Feature, Scenario, Given, When en Then het testgedrag beschrijven.
Code:
Feature: Multiplication
I multiply two numbers
Scenario: multiply a and b
Given I have variable a
And I have variable b
When I multiplication a and b
Then I display the Result
Stap 8) Voer nu uw eerste Feature-bestand uit.
Klik op "Opdrachtprompt starten met Ruby".
De uitvoer die u ontvangt, wordt hieronder weergegeven.
Je krijgt een foutmelding omdat je een stapdefinitiebestand moet schrijven dat overeenkomt met het featurebestand.
Stap 9) Maak een stapdefinitiebestand aan voor uw featurebestand.
Maak in de RubyMine-editor een nieuwe map aan met de naam "step_definition".
Stap 10) Sla het bestand op in “jouwmap/functies/stapdefinities” met de naam test_step.rb.
Stap 11) Voeg de volgende code toe aan het bestand met de stapdefinitie. Elk blok komt overeen met een Gherkin-stap uit het featurebestand.
Code :
Given(/^I have variable a$/) do
@a = 50
end
And(/^I have variable b$/) do
@b = 70
end
When(/^I multiplication a and b$/) do
@mul = @a * @b
end
Then(/^I display the Result$/) do
puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end
Stap 12) Voer het Feature-bestand opnieuw uit.
Het resultaat is hieronder weergegeven.
Cucumber Script 2: Controleer de uitvoer wanneer het e-mailadres is ingevoerd of niet
In dit tweede voorbeeld ga je Ruby gebruiken met Watir om een browser aan te sturen en twee registratiescenario's te valideren op de Guru99 demo-sites. Dezelfde patronen gelden als u overstapt op een andere site. Cucumber-JVM 7.x met Selenium WebDriver en Java.
In dit voorbeeld gebruiken we Robijn.
TestscenarioControleer de uitvoer wanneer er GEEN e-mailadres is ingevoerd.
Teststappen:
- Open browser
- gaan naar https://demo.guru99.com/
- Do niet Voer e-mailadres in
- Klik op Verzenden
TestscenarioControleer de uitvoer wanneer het e-mailadres wordt ingevoerd.
Teststappen:
- Open browser
- gaan naar https://demo.guru99.com/
- Voer e-mailadres in
- Klik op Verzenden
Code in het functiebestand:
Feature: guru99 Demopage Login To Login in Demopage we have to enter login details Scenario: Register On Guru99 Demopage without email Given I am on the Guru99 homepage When enter blank details for Register Then error email shown Scenario: Register On Guru99 Demopage with valid email Given I am on the Guru99 homepage When enter details for Register Then login details shown
Code in het stapdefinitiebestand:
require 'watir-webdriver'
require 'colorize'
browser = Watir::Browser.new
Given (/^I am on the Guru99 homepage$/)do
browser.goto "https://demo.guru99.com"
end
When (/^enter blank details for Register$/)do
browser.text_field(:name,"emailid").set(" ")
browser.button(:name,"btnLogin").click
end
Then (/^error email shown$/)do
puts " Email is Required".red
browser.close
end
When (/^enter details for Register$/)do
browser = Watir::Browser.new
browser.goto "https://demo.guru99.com"
browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")
browser.button(:name,"btnLogin").click
end
Then (/^login details shown$/)do
puts " Sucessfully register"
browser.close
end
Voer de code uit in de opdrachtprompt en u ziet de volgende uitvoer.


















