Hozd létre az elsőt Cucumber Szkript (2 példa)

⚡ Okos összefoglaló

Cucumber A szkriptfuttatás segít a Gherkin egyszerű nyelvű forgatókönyveinek futtatható automatizált tesztekké alakításában lépésdefiníciós fájlok használatával, lehetővé téve a csapatok számára a viselkedés validálását, a szándék megosztását az érdekelt felek között, és megbízható, BDD-vezérelt projektek kiküldését. Cucumber or Cucumber-JVM.

  • 🥒 Uborka alapjai: A funkciófájlok a Given-When-Then szintaxisban írják le a forgatókönyveket, amelyet mind a tesztelők, mind az üzleti csapatok el tudnak olvasni.
  • 📝 Lépésdefiníciók: Minden Gherkin lépés egy Rubyban írt kódblokkhoz tartozik, Java, vagy más támogatott nyelven.
  • 🇧🇷 Projekt beállítása: A RubyMine vagy bármely IDE képes tárolni a features mappát, a step_definitions mappát és a runner konfigurációt.
  • Két példa: Egy szorzási forgatókönyv és egy Guru99 demó bejelentkezési forgatókönyv bemutatja a BDD végrehajtásának teljes folyamatát.
  • 🧪 Modern verziók: Cucumber-JVM 7.x és Cucumber A Ruby 9.x továbbra is a jelenlegi stabil kiadások, amelyeket a CI-folyamatokon használnak.

Cucumber Forgatókönyv

Ebben az oktatóanyagban létrehozni fogod Cucumber Szkriptek két forgatókönyv teszteléséhez Gherkin szintaxis és lépésdefiníciós fájlok használatával. Cucumber egy népszerű BDD keretrendszer, amely egyszerű nyelven írt Feature fájlokat kapcsol össze futtatható tesztkóddal, így az üzleti elemzők és a fejlesztők ugyanazon specifikációk alapján működhetnek együtt.

Cucumber 1. szkript: szorzás 2 Numbers

Ebben az elsőben Cucumber Például írsz egy egyszerű Feature fájlt, amely két számot szoroz meg, majd létrehozol egy hozzá illő Step Definition fájlt Ruby-ban. Ugyanez a munkafolyamat érvényes, ha a következőt használod: Cucumber-JVM 7.x verzióval Java vagy Kotlinban IntelliJ IDEA.

Step 1) Nyissa meg a RubyMine szerkesztőt a következőn keresztül: Windows Start menü.

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 2) A RubyMine szerkesztőben kattints az Új projekt létrehozása gombra.

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 3) Válassza ki a projekt helyét, majd kattintson a „Létrehozás” gombra.

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 4) Hozz létre egy fájlkönyvtárat a projekt gyökerén belül a funkciófájlok számára.

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 5) Nevezd el a könyvtárat úgy, hogy "jellemzők". Cucumber automatikusan átvizsgálja ezt a mappát.

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 6) Hozz létre és ments el egy fájlt a „yourfolder/features/” mappába „yourfilename.feature” néven.

Kattints itt ha a videó nem érhető el

Cucumber Forgatókönyv: szorzás 2 Numbers

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 7) A forgatókönyv végrehajtásához mentse el a következő programot a Feature fájlba. Figyelje meg, hogyan írják le a Gherkin kulcsszavai, mint például a Feature, Scenario, Given, When és Then a teszt viselkedését.

Cucumber Forgatókönyv: szorzás 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) Most futtassa az első Feature fájlt.

Kattintson a „Parancssor indítása Ruby-val” elemre.

Cucumber Forgatókönyv: szorzás 2 Numbers

A kapott kimenet az alábbiakban látható.

Cucumber Forgatókönyv: szorzás 2 Numbers

Hibaüzenetet fog látni, mert olyan lépésdefiníciós fájlt kell írnia, amely párosul a funkciófájllal.

Step 9) Hozz létre egy lépésdefiníciós fájlt a jellemzőfájlodhoz.

Hozz létre egy új mappát a RubyMine szerkesztőben „step_definition” néven.

Cucumber Forgatókönyv: szorzás 2 Numbers

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 10) Mentse el a fájlt a „yourfolder/features/step_definitions” mappába test_step.rb néven.

Cucumber Forgatókönyv: szorzás 2 Numbers

Cucumber Forgatókönyv: szorzás 2 Numbers

Step 11) Írd be a következő kódot a Step Definition fájlba. Minden blokk a Feature fájl egy Gherkin lépéséhez tartozik.

Cucumber Forgatókönyv: szorzás 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) Futtassa újra a Feature fájlt.

Cucumber Forgatókönyv: szorzás 2 Numbers

Az eredmény az alábbiakban látható.

Cucumber Forgatókönyv: szorzás 2 Numbers

Cucumber 2. szkript: Ellenőrizze a kimenetet, ha az e-mail azonosítót megadta vagy nem

Ebben a második példában a Ruby-t fogod használni Watir böngésző futtatásához és két regisztrációs forgatókönyv validálásához a Guru99 demóoldal. Ugyanezek a minták érvényesek, ha Ön is ezt választja Cucumber-JVM 7.x verzióval Selenium WebDriver és Java.

Ebben a példában használjuk Rubin.

Teszt forgatókönyv: Kimenet ellenőrzése, ha az e-mail cím NINCS megadva.

Teszt lépései:

  1. Nyissa meg a Böngészőt
  2. Go To https://demo.guru99.com/
  3. Do nem írja be az e-mail azonosítót
  4. Kattintson a Küldés gombra

Teszt forgatókönyv: Kimenet ellenőrzése az e-mail azonosító megadásakor.

Teszt lépései:

  1. Nyissa meg a Böngészőt
  2. Go To https://demo.guru99.com/
  3. Írja be az e-mail azonosítót
  4. Kattintson a Küldés gombra

Code a Jellemzőfájlban:

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 a Lépésdefiníciós fájlban:

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

Futtassa a kódot a parancssorban, és a következő kimenetet fogja látni.

Ellenőrizze a kimenetet, ha az e-mail azonosító be van írva vagy nincs megadva

GYIK

A Feature fájl egy egyszerű szöveges fájl .feature kiterjesztéssel, amely Gherkin szintaxist használ egy alkalmazásfunkció leírására. A Given, When és Then lépésekkel írt kapcsolódó forgatókönyveket csoportosítja, így a nem műszaki érdekelt felek a fejlesztőkkel együtt olvashatják és validálhatják a viselkedést.

Minden Gherkin lépés csak szöveges. Cucumber szüksége van egy lépésdefinícióra, amely a lépést Rubyban futtatható kódra képezi le, Java, vagy más nyelven. Azon térkép nélkülping, a futtató meghatározatlan lépéseket jelent, és a forgatókönyv nem hajtja végre a kívánt logikát.

CucumberA -JVM 7.x a jelenlegi stabil verzió, és új verziókhoz ajánlott. Java és Kotlin projektek. Cucumber A Ruby 9.x továbbra is a modern választás a Ruby csapatok számára. Mindkét kiadás támogatja JUnit 5, párhuzamos végrehajtás és címke alapú szűrés CI-folyamatokhoz.

Az AI-asszisztensek felhasználói történeteket, elfogadási kritériumokat és korábbi hibákat elemezve Gherkin-forgatókönyveket készítenek adott-mikor-akkor formátumban. Határeseteket, alternatív útvonalakat és címkejavaslatokat javasolnak, így a BDD-csapatok több viselkedést is lefedhetnek anélkül, hogy órákat töltenének az egyes funkciófájlok kézzel történő megírásával.

Igen. A mesterséges intelligencia eszközei beolvassák a Feature fájlokat, minden Gherkin lépést összeillesztenek a meglévő kóddal, és új Step Definition metódusokat hoznak létre Rubyban vagy más nyelven. JavaBlanket, paraméteres reguláris kifejezéseket és állítási csonkokat generálnak, így a fejlesztők csak az üzleti logikát finomítják ahelyett, hogy minden egyes illesztési függvényt kézzel kellene megírniuk.

Foglald össze ezt a bejegyzést a következőképpen: