Luo ensimmäinen Cucumber Käsikirjoitus (2 esimerkkiä)

⚡ Älykäs yhteenveto

Cucumber Skriptien suorittaminen auttaa muuttamaan selkokieliset Gherkin-skenaariot suoritettaviksi automatisoiduiksi testeiksi vaiheenmäärittelytiedostojen avulla, jolloin tiimit voivat validoida toimintaa, jakaa aikomuksen sidosryhmien kesken ja toimittaa luotettavia BDD-pohjaisia ​​projekteja. Cucumber or Cucumber-JVM.

  • 🥒 Kurkkujen perusteet: Ominaisuustiedostot kuvaavat skenaarioita Given-When-Then-syntaksilla, jota sekä testaajat että liiketoimintatiimit voivat lukea.
  • 📝 Vaiheiden määritelmät: Jokainen Gherkin-vaihe kuvaa Rubylla kirjoitettua koodilohkoa, Javatai muulla tuetulla kielellä.
  • ⚙️ Projektin määritys: RubyMine tai mikä tahansa IDE voi isännöidä features-kansiota, step_definitions-kansiota ja juoksijan asetuksia.
  • Kaksi esimerkkiä: Kertolaskuskenaario ja Guru99 demokirjautumisskenaariota esittelee BDD-suorituksen kokonaisvaltaisesti.
  • 🧪 Nykyaikaiset versiot: Cucumber-JVM 7.x ja Cucumber Ruby 9.x on edelleen nykyinen vakaa julkaisu, jota käytetään CI-putkistoissa.

Cucumber Käsikirjoitus

Tässä opetusohjelmassa luot Cucumber Skriptit kahden skenaarion testaamiseksi Gherkin-syntaksin ja vaiheiden määritystiedostojen avulla. Cucumber on suosittu BDD-kehys, joka yhdistää selkokieliset ominaisuustiedostot suoritettavaan testikoodiin, jotta liiketoiminta-analyytikot ja kehittäjät voivat tehdä yhteistyötä samojen spesifikaatioiden parissa.

Cucumber Käsikirjoitus 1: Kerro 2 Numbers

Tässä ensimmäisessä Cucumber esimerkiksi kirjoitat yksinkertaisen ominaisuustiedoston, joka kertoo kaksi lukua, ja luot sitten vastaavan vaiheenmääritystiedoston Rubyssa. Sama työnkulku pätee, jos käytät Cucumber-JVM 7.x ja Java tai Kotlinissa IntelliJ IDEA.

Vaihe 1) Avaa RubyMine Editor -komennon kautta Windows Aloitusvalikko.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 2) RubyMine Editorissa napsauta Luo uusi projekti.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 3) Valitse projektin sijainti ja napsauta "Luo".

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 4) Luo projektin juureen tiedostohakemisto ominaisuustiedostoillesi.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 5) Nimeä hakemisto nimellä "ominaisuudet". Cucumber skannaa tämän kansion automaattisesti.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 6) Luo ja tallenna tiedosto kansioon ”omakansio/ominaisuudet/” nimellä ”omatiedostonimi.ominaisuus”.

Napauta täältä jos video ei ole saatavilla

Cucumber Käsikirjoitus: Kerro 2 Numbers

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 7) Suorittaaksesi skenaarion, tallenna seuraava ohjelma Feature-tiedostoon. Huomaa, miten Gherkin-avainsanat, kuten Feature, Scenario, Given, When ja Then, kuvaavat testikäyttäytymistä.

Cucumber Käsikirjoitus: Kerro 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

Vaihe 8) Suorita nyt ensimmäinen ominaisuustiedostosi.

Napsauta "Käynnistä komentokehote Rubylla".

Cucumber Käsikirjoitus: Kerro 2 Numbers

Saamasi tuloste näkyy alla.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Näet virheen, koska sinun on kirjoitettava vaiheen määritystiedosto, joka pariutuu ominaisuustiedostoon.

Vaihe 9) Luo vaiheenmääritystiedosto ominaisuustiedostollesi.

Luo RubyMine-editorissa uusi kansio nimeltä ”step_definition”.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 10) Tallenna tiedosto kansioon ”omakansio/ominaisuudet/step_määritelmät” nimellä test_step.rb.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Cucumber Käsikirjoitus: Kerro 2 Numbers

Vaihe 11) Kirjoita seuraava koodi Step Definition -tiedostoon. Jokainen lohko vastaa Gherkin-vaihetta Feature-tiedostosta.

Cucumber Käsikirjoitus: Kerro 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

Vaihe 12) Suorita Feature-tiedosto uudelleen.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Tulos on esitetty alla.

Cucumber Käsikirjoitus: Kerro 2 Numbers

Cucumber Komentosarja 2: Tarkista tulos, kun sähköpostiosoite on syötetty tai sitä ei anneta

Tässä toisessa esimerkissä käytät Rubya Watir ajaa selainta ja validoida kaksi rekisteröintiskenaariota Guru99 demosivustoa. Samat mallit pätevät, jos otat käyttöön Cucumber-JVM 7.x ja Selenium WebDriver ja Java.

Tässä esimerkissä käytämme Rubiini.

Testiskenaario: Tarkista tuloste, kun sähköpostiosoitetta EI ole syötetty.

Testivaiheet:

  1. Avaa selain
  2. Siirry https://demo.guru99.com/
  3. Do emme syötä sähköpostitunnus
  4. Klikkaa Lähetä

TestiskenaarioTarkista tuloste, kun sähköpostiosoite syötetään.

Testivaiheet:

  1. Avaa selain
  2. Siirry https://demo.guru99.com/
  3. Anna sähköpostiosoite
  4. Klikkaa Lähetä

Code ominaisuustiedostossa:

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 Vaiheen määritystiedostossa:

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

Suorita koodi komentokehotteessa ja näet seuraavan tulosteen.

Tarkista tulos, kun sähköpostiosoite on syötetty tai sitä ei ole annettu

UKK

Ominaisuustiedosto on selkokielinen tiedosto, jonka tiedostopääte on .feature ja joka kuvaa yhtä sovellusominaisuutta Gherkin-syntaksin avulla. Se ryhmittelee toisiinsa liittyviä skenaarioita, jotka on kirjoitettu Given-, When- ja Then-vaiheilla, jotta ei-tekniset sidosryhmät voivat lukea ja validoida toimintaa kehittäjien rinnalla.

Jokainen Gherkin-vaihe on pelkkää tekstiä. Cucumber tarvitsee vaiheen määrittelyn, joka yhdistää vaiheen suoritettavaan koodiin Rubyssa, Javatai jollain muulla kielellä. Ilman kyseistä karttaaping, suorittaja raportoi määrittelemättömiä vaiheita ja skenaario ei suorita tarkoitettua logiikkaa.

Cucumber-JVM 7.x on nykyinen vakaa versio ja sitä suositellaan uusille Java ja Kotlin-projektit. Cucumber Ruby 9.x on edelleen Ruby-tiimien moderni valinta. Molemmat versiot tukevat JUnit 5, rinnakkainen suoritus ja tunnistepohjainen suodatus CI-putkille.

Tekoälyavustajat analysoivat käyttäjätarinoita, hyväksymiskriteerejä ja historiallisia vikoja laatiakseen Gherkin-skenaarioita Given-When-Then-muodossa. He ehdottavat rajatapauksia, vaihtoehtoisia polkuja ja tagiehdotuksia, jotta BDD-tiimit kattavat enemmän käyttäytymismalleja käyttämättä tuntikausia jokaisen ominaisuustiedoston käsin kirjoittamiseen.

Kyllä. Tekoälytyökalut lukevat ominaisuustiedostoja, yhdistävät jokaisen Gherkin-vaiheen olemassa olevaan koodiin ja luovat uusia vaihemäärittelymetodeja Rubyssa tai muussa vastaavassa. JavaNe luovat vakiomuotoisia lausekkeita, parametrina toimivia säännöllisiä lausekkeita ja väittämäfunktioita, joten kehittäjät vain tarkentavat liiketoimintalogiikkaa sen sijaan, että kirjoittaisivat jokaisen liimaavan funktion käsin.

Tiivistä tämä viesti seuraavasti: