Stvorite svoj prvi Cucumber Skripta (2 primjera)

โšก Pametni saลพetak

Cucumber Izvrลกavanje skripti pomaลพe vam pretvoriti Gherkin scenarije na jednostavnom jeziku u automatizirane testove koje moลพete izvesti pomoฤ‡u datoteka Step Definition, omoguฤ‡ujuฤ‡i timovima da provjere ponaลกanje, dijele namjere meฤ‘u dionicima i isporuฤuju pouzdane BDD projekte. Cucumber or Cucumber-JVM.

  • ???? Osnove o kiselim krastavcima: Datoteke znaฤajki opisuju scenarije u sintaksi Dano-Kada-Zatim koju mogu ฤitati i testeri i poslovni timovi.
  • ๐Ÿ“ Definicije koraka: Svaki Gherkinov korak mapira se na blok koda napisan u Rubyju, Javaili neki drugi podrลพani jezik.
  • ๏ธ Postavljanje projekta: RubyMine ili bilo koji IDE moลพe hostirati mapu features, mapu step_definitions i konfiguraciju runnera.
  • โœ… Dva primjera: Scenarij mnoลพenja i Guru99 demo scenarija prijave demonstrira izvrลกavanje BDD-a od poฤetka do kraja.
  • ๐Ÿงช Moderne verzije: Cucumber-JVM 7.x i Cucumber Ruby 9.x ostaje trenutno stabilno izdanje koje se koristi u svim CI cjevovodima.

Cucumber Script

U ovom tutorijalu, kreirat ฤ‡ete Cucumber Skripte za testiranje dva scenarija koriลกtenjem Gherkin sintakse i datoteka Step Definition. Cucumber je popularni BDD okvir koji povezuje Feature datoteke na obiฤnom jeziku s izvrลกnim testnim kodom tako da poslovni analitiฤari i programeri mogu suraฤ‘ivati โ€‹โ€‹na istim specifikacijama.

Cucumber Skripta 1: Mnoลพenje 2 Numbers

U ovom prvom Cucumber Na primjer, napisat ฤ‡ete jednostavnu datoteku znaฤajki koja mnoลพi dva broja, a zatim stvoriti odgovarajuฤ‡u datoteku definicije koraka u Rubyju. Isti tijek rada primjenjuje se ako koristite Cucumber-JVM 7.x s Java ili Kotlin u IntelliJ IDEA.

Korak 1) Otvorite RubyMine Editor putem Windows izbornik Start.

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 2) U RubyMine Editoru kliknite na Stvori novi projekt.

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 3) Odaberite lokaciju projekta i kliknite "Stvori".

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 4) Unutar korijenske mape projekta stvorite direktorij za svoje Feature datoteke.

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 5) Nazovite direktorij kao โ€œznaฤajkeโ€. Cucumber automatski ฤ‡e skenirati ovu mapu.

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 6) Izradite i spremite datoteku u "yourfolder/features/" s nazivom "yourfilename.feature".

Kliknite ovdje ako video nije dostupan

Cucumber Skripta: Mnoลพenje 2 Numbers

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 7) Za izvrลกavanje scenarija, spremite sljedeฤ‡i program unutar Feature datoteke. Obratite pozornost na to kako Gherkinove kljuฤne rijeฤi poput Feature, Scenario, Given, When i Then opisuju ponaลกanje testa.

Cucumber Skripta: Mnoลพenje 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

Korak 8) Sada pokrenite svoju prvu Feature datoteku.

Kliknite na "Pokreni naredbeni redak s Rubyjem".

Cucumber Skripta: Mnoลพenje 2 Numbers

Izlaz koji dobijete prikazan je u nastavku.

Cucumber Skripta: Mnoลพenje 2 Numbers

Vidjet ฤ‡ete greลกku jer morate napisati datoteku definicije koraka koja se uparuje s datotekom znaฤajke.

Korak 9) Izradite datoteku definicije koraka za svoju datoteku znaฤajki.

U RubyMine editoru stvorite novu mapu pod nazivom โ€žstep_definitionโ€œ.

Cucumber Skripta: Mnoลพenje 2 Numbers

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 10) Spremite datoteku u "yourfolder/features/step_definitions" pod nazivom test_step.rb.

Cucumber Skripta: Mnoลพenje 2 Numbers

Cucumber Skripta: Mnoลพenje 2 Numbers

Korak 11) Upiลกite sljedeฤ‡i kod u datoteku Step Definition. Svaki blok se mapira na Gherkinov korak iz datoteke Feature.

Cucumber Skripta: Mnoลพenje 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

Korak 12) Ponovno pokrenite datoteku Feature.

Cucumber Skripta: Mnoลพenje 2 Numbers

Rezultat je prikazan u nastavku.

Cucumber Skripta: Mnoลพenje 2 Numbers

Cucumber Skripta 2: Provjerite izlaz kada je ID e-poลกte unesen ili nije unesen

U ovom drugom primjeru, koristit ฤ‡ete Ruby s Watir pokrenuti preglednik i validirati dva scenarija registracije na Guru99 demo stranica. Isti obrasci vrijede i ako usvojite Cucumber-JVM 7.x s Selenium WebDriver i Java.

U ovom primjeru koristimo Rubin.

Testni scenarijProvjeri izlaz kada adresa e-poลกte NIJE unesena.

Testni koraci:

  1. Otvorite preglednik
  2. Idi na https://demo.guru99.com/
  3. Do ne unesite ID e-poลกte
  4. Kliknite Poลกalji

Testni scenarijProvjeri izlaz kada se unese adresa e-poลกte.

Testni koraci:

  1. Otvorite preglednik
  2. Idi na https://demo.guru99.com/
  3. Unesite ID e-poลกte
  4. Kliknite Poลกalji

Code u datoteci znaฤajki:

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 u datoteci definicije koraka:

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

Pokrenite kod u naredbenom retku i vidjet ฤ‡ete sljedeฤ‡i izlaz.

Provjerite izlaz kada je ID e-poลกte unesen ili nije unesen

Pitanja i odgovori

Datoteka znaฤajki je obiฤna tekstualna datoteka s ekstenzijom .feature koja koristi Gherkin sintaksu za opis jedne znaฤajke aplikacije. Grupira povezane scenarije napisane s koracima Zadano, Kada i Zatim kako bi netehniฤke zainteresirane strane mogle ฤitati i provjeravati ponaลกanje zajedno s programerima.

Svaki Gherkinov korak je samo tekst. Cucumber potrebna je definicija koraka koja mapira korak na izvrลกni kod u Rubyju, Java, ili nekom drugom jeziku. Bez te karteping, trkaฤ prijavljuje nedefinirane korake i scenarij ne uspijeva izvrลกiti predviฤ‘enu logiku.

Cucumber-JVM 7.x je trenutna stabilna linija i preporuฤuje se za nove Java i Kotlin projekte. Cucumber Ruby 9.x ostaje moderni izbor za Ruby timove. Oba izdanja podrลพavaju JUnit 5, paralelno izvrลกavanje i filtriranje temeljeno na oznakama za CI cjevovode.

AI asistenti analiziraju korisniฤke priฤe, kriterije prihvaฤ‡anja i povijesne nedostatke kako bi izradili Gherkinove scenarije u formatu "Dano-Kada-Onda". Predlaลพu graniฤne sluฤajeve, alternativne putove i prijedloge oznaka kako bi BDD timovi pokrili viลกe ponaลกanja bez troลกenja sati na ruฤno pisanje svake Feature datoteke.

Da. Alati umjetne inteligencije ฤitaju datoteke znaฤajki, usporeฤ‘uju svaki Gherkinov korak s postojeฤ‡im kodom i izraฤ‘uju nove metode definicije koraka u Rubyju ili JavaOni generiraju predloลกke, regularne izraze parametara i assertion stubove tako da programeri samo usavrลกavaju poslovnu logiku umjesto da svaku funkciju lijepljenja piลกu ruฤno.

Saลพmite ovu objavu uz: