Looge oma esimene Cucumber Skript (2 näidet)

⚡ Nutikas kokkuvõte

Cucumber Skriptide käivitamine aitab teil muuta lihtsas keeles Gherkini stsenaariumid käivitatavateks automatiseeritud testideks, kasutades etapiviisilisi definitsioonifaile, võimaldades meeskondadel valideerida käitumist, jagada kavatsusi sidusrühmade vahel ja saata usaldusväärseid BDD-põhiseid projekte. Cucumber or Cucumber-JVM.

  • 🥒 Kurgi põhitõed: Funktsioonifailid kirjeldavad stsenaariume Given-When-Then süntaksis, mida saavad lugeda nii testijad kui ka ärimeeskonnad.
  • 📝 Sammude definitsioonid: Iga Gherkini samm seob Ruby keeles kirjutatud koodiplokiga, Javavõi mõnes muus toetatud keeles.
  • ⚙️ Projekti seadistamine: RubyMine või mõni muu IDE saab majutada funktsioonide kausta, step_definitions kausta ja jooksja konfiguratsiooni.
  • Kaks näidet: Korrutamise stsenaarium ja Guru99 demo sisselogimise stsenaariumi demonstreerivad BDD-i otsast lõpuni teostamist.
  • 🧪 Kaasaegsed versioonid: Cucumber-JVM 7.x ja Cucumber Ruby 9.x jääb CI torujuhtmetes kasutatavateks stabiilseteks versioonideks.

Cucumber Script

Selles õpetuses loote Cucumber Skriptid kahe stsenaariumi testimiseks, kasutades Gherkini süntaksit ja sammudefinitsioonifaile. Cucumber on populaarne BDD-raamistik, mis ühendab lihtkeelsed funktsioonifailid käivitatava testkoodiga, et ärianalüütikud ja arendajad saaksid samade spetsifikatsioonide kallal koostööd teha.

Cucumber 1. skript: korrutage 2 Numbers

Selles esimeses Cucumber Näiteks kirjutate lihtsa funktsioonifaili, mis korrutab kaks arvu, ja seejärel loote Rubys vastava sammudefinitsioonifaili. Sama töövoog kehtib ka siis, kui kasutate Cucumber-JVM 7.x koos Java või Kotlin sisse IntelliJ IDEA.

Step 1) Ava RubyMine'i redaktor selle kaudu Windows menüü Start.

Cucumber Stsenaarium: korruta 2 Numbers

Step 2) RubyMine'i redaktoris klõpsake nuppu Loo uus projekt.

Cucumber Stsenaarium: korruta 2 Numbers

Step 3) Valige projekti asukoht ja klõpsake nuppu "Loo".

Cucumber Stsenaarium: korruta 2 Numbers

Step 4) Looge oma funktsioonifailide jaoks projekti juurkataloogi failikataloog.

Cucumber Stsenaarium: korruta 2 Numbers

Step 5) Nimeta kataloog järgmiselt "omadused". Cucumber skannib seda kausta automaatselt.

Cucumber Stsenaarium: korruta 2 Numbers

Step 6) Loo fail ja salvesta see kausta „yourfolder/features/” nimega „yourfilename.feature”.

Click siin kui video pole juurdepääsetav

Cucumber Stsenaarium: korruta 2 Numbers

Cucumber Stsenaarium: korruta 2 Numbers

Step 7) Stsenaariumi käivitamiseks salvesta järgmine programm faili Feature. Pane tähele, kuidas Gherkini märksõnad, näiteks Feature, Scenario, Given, When ja Then, kirjeldavad testi käitumist.

Cucumber Stsenaarium: korruta 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

Step 8) Nüüd käivitage oma esimene funktsioonifail.

Klõpsake nuppu „Käivita käsuviip Ruby abil”.

Cucumber Stsenaarium: korruta 2 Numbers

Saadud väljund on näidatud allpool.

Cucumber Stsenaarium: korruta 2 Numbers

Näete veateadet, kuna peate kirjutama sammudefinitsioonifaili, mis on seotud funktsioonifailiga.

Step 9) Looge oma funktsioonifaili jaoks sammudefinitsiooni fail.

Loo RubyMine'i redaktoris uus kaust nimega „step_definition”.

Cucumber Stsenaarium: korruta 2 Numbers

Cucumber Stsenaarium: korruta 2 Numbers

Step 10) Salvesta fail kausta „yourfolder/features/step_definitions” nimega test_step.rb.

Cucumber Stsenaarium: korruta 2 Numbers

Cucumber Stsenaarium: korruta 2 Numbers

Step 11) Kirjutage järgmine kood sammudefinitsiooni faili. Iga plokk seob funktsioonifailis oleva Gherkini sammuga.

Cucumber Stsenaarium: korruta 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

Step 12) Käivita funktsioonifail uuesti.

Cucumber Stsenaarium: korruta 2 Numbers

Tulemus on näidatud allpool.

Cucumber Stsenaarium: korruta 2 Numbers

Cucumber Skript 2: kontrollige väljundit, kui e-posti ID on sisestatud või sisestamata

Selles teises näites kasutate Rubyt koos Watir brauseri käivitamiseks ja kahe registreerimisstsenaariumi valideerimiseks Guru99 demosaiti. Samad mustrid kehtivad ka siis, kui te selle kasutusele võtate Cucumber-JVM 7.x koos Selenium WebDriver ja Java.

Selles näites kasutame rubiin.

Testi stsenaarium: Kontrolli väljundit, kui e-posti aadressi EI ole sisestatud.

Testi sammud:

  1. Avage brauser
  2. Mine https://demo.guru99.com/
  3. Do mitte sisestage e-posti ID
  4. Klõpsake nupul Esita

Testi stsenaarium: Kontrolli väljundit e-posti aadressi sisestamisel.

Testi sammud:

  1. Avage brauser
  2. Mine https://demo.guru99.com/
  3. Sisestage e-posti ID
  4. Klõpsake nupul Esita

Code funktsioonifailis:

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 sammu definitsioonifailis:

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äivitage kood käsurealt ja näete järgmist väljundit.

Kontrollige väljundit, kui e-posti ID on sisestatud või sisestamata

KKK

Funktsioonifail on lihttekstifail laiendiga .feature, mis kirjeldab ühe rakenduse funktsiooni Gherkini süntaksi abil. See rühmitab seotud stsenaariume, mis on kirjutatud antud, millal ja siis sammudega, et mitte-tehnilised sidusrühmad saaksid koos arendajatega käitumist lugeda ja valideerida.

Iga Gherkini samm on ainult tekst. Cucumber vajab sammu definitsiooni, mis seob sammu Ruby käivitatava koodiga, Javavõi mõnes teises keeles. Ilma selle kaarditaping, annab käivitaja teada määratlemata sammudest ja stsenaarium ei suuda kavandatud loogikat täita.

Cucumber-JVM 7.x on praegune stabiilne liin ja seda soovitatakse uute jaoks Java ja Kotlini projektid. Cucumber Ruby 9.x on endiselt Ruby meeskondade moodne valik. Mõlemad versioonid toetavad JUnit 5, paralleelne teostus ja sildipõhine filtreerimine CI-torustike jaoks.

Tehisintellekti assistendid analüüsivad kasutajate lugusid, vastuvõtukriteeriume ja ajaloolisi defekte, et koostada Gherkini stsenaariume antud-millal-siis-vormingus. Nad pakuvad välja piirjuhtumeid, alternatiivseid teid ja siltide soovitusi, et BDD meeskonnad hõlmaksid rohkem käitumisviise ilma tunde iga funktsioonifaili käsitsi kirjutamisele kulutamata.

Jah. Tehisintellekti tööriistad loevad funktsioonifaile, sobitavad iga Gherkini sammu olemasoleva koodiga ja loovad Ruby või teiste programmeerimiskeelte abil uusi sammude definitsioonimeetodeid. JavaNad genereerivad malli, parameetriga regulaaravaldisi ja kinnituslauseid, nii et arendajad täpsustavad ainult äriloogikat, selle asemel et iga liimimisfunktsiooni käsitsi kirjutada.

Võta see postitus kokku järgmiselt: