Creëer je eerste Cucumber Script (2 voorbeelden)

In deze tutorial gaan we creëren Cucumber Scripts om twee scenario's te testen

Cucumber Script 1: Vermenigvuldig 2 Numbers

Stap 1) Open RubyMine Editor via het startmenu van Windows

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 2) Klik in Rubymine Editor op Nieuw project maken

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 3) Selecteer de projectlocatie en klik op 'Maken'.

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 4) Maak een bestandsmap

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 5) Geef de map een naam "Features"

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 6) Maak en bewaar een bestand in “uwmap/features/” met de naam “uwbestandsnaam.feature”

Cucumber Script:Vermenigvuldig 2 Numbers

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 7) Om ons scenario uit te voeren, slaat u het volgende programma op in het Feature File

Cucumber Script:Vermenigvuldig 2 Numbers

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) Laten we nu ons eerste featurebestand uitvoeren!

Klik op “Opdrachtprompt starten met Ruby”

Cucumber Script:Vermenigvuldig 2 Numbers

En de output die je krijgt is

Cucumber Script:Vermenigvuldig 2 Numbers

U ziet de fout omdat u een stapdefinitiebestand voor het featurebestand moet schrijven

Stap 9) Laten we een stapdefinitiebestand maken voor ons functiebestand!

Maak een nieuwe map in de Rubymine-editor met de naam “step_definition”

Cucumber Script:Vermenigvuldig 2 Numbers

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 10) Bestand opslaan zoals hieronder in “uwmap/features/step_definities” met de naam test_step.rb

Cucumber Script:Vermenigvuldig 2 Numbers

Cucumber Script:Vermenigvuldig 2 Numbers

Stap 11) Schrijf de volgende code in het step-bestand

Cucumber Script:Vermenigvuldig 2 Numbers

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 nu opnieuw ons functiebestand uit:

Cucumber Script:Vermenigvuldig 2 Numbers

Het resultaat is

Cucumber Script:Vermenigvuldig 2 Numbers

Cucumber Script 2: Controleer de uitvoer wanneer het e-mailadres is ingevoerd of niet

In dit voorbeeld gebruiken we Robijn

Testscenario: Controleer de uitvoer wanneer het e-mailadres NIET is ingevoerd

Teststappen:

  1. Open browser
  2. gaan naar https://demo.guru99.com/
  3. Do niet Voer e-mailadres in
  4. Klik op Verzenden

Testscenario: Controleer de uitvoer wanneer het e-mailadres wordt ingevoerd

Teststappen:

  1. Open browser
  2. gaan naar https://demo.guru99.com/
  3. Voer e-mailadres in
  4. Klik op Verzenden

Code in 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 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("guru99@gmail.com")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

Voer de code uit via de opdrachtprompt en u krijgt

Controleer de uitvoer wanneer het e-mailadres is ingevoerd of niet