Opret din første Cucumber Script (2 eksempler)

⚡ Smart opsummering

Cucumber Scriptudførelse hjælper dig med at omdanne letforståelige Gherkin-scenarier til kørbare automatiserede tests ved hjælp af Step Definition-filer, hvilket giver teams mulighed for at validere adfærd, dele intentioner på tværs af interessenter og sende pålidelige BDD-drevne projekter videre. Cucumber or Cucumber-JVM.

  • ???? Grundlæggende om sylteagurk: Funktionsfiler beskriver scenarier i Given-When-Then-syntaks, som både testere og forretningsteams kan læse.
  • 📝 Trindefinitioner: Hvert Gherkin-trin knyttes til en kodeblok skrevet i Ruby, Javaeller et andet understøttet sprog.
  • 🇧🇷 Projektopsætning: RubyMine eller ethvert IDE kan være vært for mappen features, mappen step_definitions og runner-konfigurationen.
  • To eksempler: Et multiplikationsscenarie og et Guru99 demo-login-scenarier demonstrerer end-to-end BDD-udførelse.
  • 🧪 Moderne versioner: Cucumber-JVM 7.x og Cucumber Ruby 9.x forbliver de nuværende stabile udgivelser, der bruges på tværs af CI-pipelines.

Cucumber Script

I denne vejledning skal du oprette Cucumber Scripts til at teste to scenarier ved hjælp af Gherkin-syntaks og Step Definition-filer. Cucumber er et populært BDD-framework, der forbinder funktionsfiler i letforståelige sprog med eksekverbar testkode, så forretningsanalytikere og udviklere kan samarbejde om de samme specifikationer.

Cucumber Script 1: Multiplicer 2 Numbers

I dette første Cucumber For eksempel skriver du en simpel Feature-fil, der ganger to tal, og opretter derefter en matchende Step Definition-fil i Ruby. Den samme arbejdsgang gælder, hvis du bruger Cucumber-JVM 7.x med Java eller Kotlin i IntelliJ IDEA.

Trin 1) Åbn RubyMine Editor via Windows start menu.

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 2) I RubyMine Editor skal du klikke på Opret nyt projekt.

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 3) Vælg projektplaceringen og klik på "Opret".

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 4) Opret en filmappe i projektets rod til dine Feature-filer.

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 5) Navngiv mappen som "funktioner". Cucumber scanner denne mappe automatisk.

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 6) Opret og gem en fil i “dinmappe/funktioner/” med navnet “ditfilnavn.funktion”.

Klik link. hvis videoen ikke er tilgængelig

Cucumber Manuskript: Multiplicer 2 Numbers

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 7) For at udføre scenariet skal du gemme følgende program i Feature-filen. Bemærk, hvordan Gherkin-nøgleord som Feature, Scenario, Givet, When og Then beskriver testadfærden.

Cucumber Manuskript: Multiplicer 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

Trin 8) Kør nu din første Feature-fil.

Klik på "Start kommandoprompt med Ruby".

Cucumber Manuskript: Multiplicer 2 Numbers

Det output, du modtager, er vist nedenfor.

Cucumber Manuskript: Multiplicer 2 Numbers

Du vil se en fejl, fordi du skal skrive en trindefinitionsfil, der parres med funktionsfilen.

Trin 9) Opret en trindefinitionsfil til din funktionsfil.

Opret en ny mappe i RubyMine-editoren med navnet “step_definition”.

Cucumber Manuskript: Multiplicer 2 Numbers

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 10) Gem filen i “yourfolder/features/step_definitions” med navnet test_step.rb.

Cucumber Manuskript: Multiplicer 2 Numbers

Cucumber Manuskript: Multiplicer 2 Numbers

Trin 11) Skriv følgende kode i Step Definition-filen. Hver blok knyttes til et Gherkin-trin fra Feature-filen.

Cucumber Manuskript: Multiplicer 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

Trin 12) Kør Feature-filen igen.

Cucumber Manuskript: Multiplicer 2 Numbers

Resultatet er vist nedenfor.

Cucumber Manuskript: Multiplicer 2 Numbers

Cucumber Script 2: Bekræft output, når e-mail-id er indtastet eller ikke indtastet

I dette andet eksempel skal du bruge Ruby med Watir at køre en browser og validere to registreringsscenarier på Guru99 demoside. De samme mønstre gælder, hvis du bruger Cucumber-JVM 7.x med Selenium WebDriver og Java.

I dette eksempel bruger vi Rubin.

TestscenarieBekræft output, når e-mail-id IKKE er indtastet.

Testtrin:

  1. Åbn browser
  2. gå til https://demo.guru99.com/
  3. Do ikke indtast e-mail-id
  4. Klik på Send

TestscenarieBekræft output, når e-mail-id'et indtastes.

Testtrin:

  1. Åbn browser
  2. gå til https://demo.guru99.com/
  3. Indtast e-mail-id
  4. Klik på Send

Code i funktionsfilen:

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 i Step Definition-filen:

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

Kør koden i kommandoprompten, og du vil se følgende output.

Bekræft output, når e-mail-id er indtastet eller ikke indtastet

Ofte Stillede Spørgsmål

En Feature-fil er en almindelig tekstfil med filtypenavnet .feature, der bruger Gherkin-syntaks til at beskrive én applikationsfunktion. Den grupperer relaterede scenarier skrevet med trinene Givet, Hvornår og Så, så ikke-tekniske interessenter kan læse og validere adfærd sammen med udviklere.

Hvert Gherkin-trin er kun tekst. Cucumber har brug for en trindefinition, der knytter trinnet til eksekverbar kode i Ruby, Java, eller et andet sprog. Uden det kortping, løberen rapporterer udefinerede trin, og scenariet udfører ikke den tilsigtede logik.

Cucumber-JVM 7.x er den nuværende stabile linje og anbefales til nye Java og Kotlin-projekter. Cucumber Ruby 9.x er fortsat det moderne valg for Ruby-teams. Begge udgivelser understøtter JUnit 5, parallel udførelse og tagbaseret filtrering til CI-pipelines.

AI-assistenter analyserer brugerhistorier, acceptkriterier og historiske defekter for at udarbejde Gherkin-scenarier i Given-When-Then-format. De foreslår afgrænsningssager, alternative stier og tagforslag, så BDD-teams dækker mere adfærd uden at bruge timer på at skrive hver Feature-fil i hånden.

Ja. AI-værktøjer læser Feature-filer, matcher hvert Gherkin-trin med eksisterende kode og scaffolder nye Step Definition-metoder i Ruby eller JavaDe genererer standardtekst, parameterregex og assertion-stubs, så udviklere kun forfiner forretningslogikken i stedet for at skrive hver enkelt glue-funktion i hånden.

Opsummer dette indlæg med: