Seleeni kurkulla (BDD Framework): Opetusohjelma esimerkillä

Tässä opetusohjelmassa opit kuinka kurkku integroidaan Selenium Webdriveriin.

Mikä on kurkku?

Kurkku on testausmenetelmä, joka tukee käyttäytymiseen perustuvaa kehitystä (BDD). Se selittää sovelluksen käyttäytymisen yksinkertaisella englanninkielisellä tekstillä käyttäen Gherkin-kieltä.

Lisätietoja on osoitteessa https://www.guru99.com/cucumber-tutorials.html

Mikä on seleeni?

Selenium on automatisointityökalu verkkopohjaisen sovelluksen toiminnalliseen testaukseen. Seleeni tukee eri kieliä, kuten java, rubiini, python C #, jne.

Lisätietoja: https://www.guru99.com/selenium-tutorial.html

Tässä kurkkuoppaassa opimme

  • Miksi käyttää kurkkua seleenin kanssa?
  • Edellytys kurkun käyttämiselle seleenin kanssa.
  • Automaatiotestaus kurkulla seleenin kanssa.
  • Skenaario 1: Tulosta teksti konsoliin.
  • Skenaario 2: Anna kirjautumistunnus ja nollaa arvo.
  • Skenaario 3: Anna kirjautumistunnus Guru99: ssä ja nollaa arvo. Tee tämä 3 tietojoukolle.

Miksi käyttää kurkkua seleenin kanssa?

Kurkku ja seleeni ovat kaksi suosittua tekniikkaa.

Suurin osa organisaatioista käyttää seleeniä toiminnalliseen testaukseen. Nämä organisaatiot, jotka käyttävät seleeniä, haluavat integroida seleenin kurkkuun, koska kurkku helpottaa sovelluksen lukemista ja ymmärtämistä.

Kurkku-työkalu perustuu käyttäytymiseen perustuvaan kehityskehykseen, joka toimii siltana seuraavien ihmisten välillä:

  1. Ohjelmistoinsinööri ja liiketoiminta-analyytikko.
  2. Manuaalinen testeri ja automaatiotesteri.
  3. Manuaalinen testaaja ja kehittäjät.

Kurkun BDD-kehys hyödyttää myös asiakasta ymmärtämään sovelluskoodin, koska se käyttää pelkkää tekstiä sisältävää Gherkin-kieltä. Kuka tahansa organisaatiossa voi ymmärtää ohjelmiston käyttäytymistä. Gherkinin syntaksit ovat yksinkertaisessa tekstissä, joka on luettavissa ja ymmärrettävissä.

Edellytys kurkun käyttämiselle seleenin kanssa

Tarvitsemme seuraavat kohteet ennen kurkkujen seleenintegraation aloittamista:

  • Seleenipurkkiviilat:
  • Seleeni-palvelin-itsenäinen

Ladattavissa osoitteesta http://www.seleniumhq.org/download/

Jar-tiedostot kurkulle:

  • Kurkkuydin
  • Kurkku-html
  • coberturakoodin peitto
  • Kurkku-java
  • Kurkku-junit
  • Kurkku-jvm-deps
  • Kurkku-raportointi
  • Hemcrest-ydin
  • Kurkku
  • Junit

Voidaan ladata osoitteesta https://mvnrepository.com/search?q=Cucumber

Sinun on haettava tiedostoja ja ladattava ne yksitellen.

Näytämme sinulle esimerkiksi lataavan yhden purkitiedostoista, ts. "Kurkku-ydin".

Napsauta yllä olevaa latauslinkkiä. Se ohjaa alla olevaan sivustoon. Hae nyt tietystä purkista, ts. '' Kurkkuydin '', kuten alla olevassa kuvakaappauksessa esitetään:

Napsauta seuraavalla sivulla versiota 1.2.2,

Napsauta seuraavassa näytössä Lataa saadaksesi 'Cucumber Core' jar-tiedoston.

Huomaa : Helppoutemme vuoksi olemme niputtaneet purkkitiedostot, jotka vaaditaan ladattavaksi Mavenista täältä. Ajan myötä nämä purkit saattavat päivittyä ja tulla yhteensopimattomiksi. Sinua pyydetään lataamaan ne yllä kuvatulla tavalla.

Automaatiotestaus kurkulla seleenin kanssa.

Tutkitaan vaiheet, joissa kurkkua käytetään seleenin kanssa vaihe vaiheelta. Tässä käsitellään 3 skenaariota:

  • Skenaario 1: Tulosta teksti konsoliin.
  • Skenaario 2: Anna kirjautumistunnus ja nollaa arvo.
  • Skenaario 3: Anna kirjautumistunnus Guru99: ssä ja nollaa arvo. Tee tämä 3 tietojoukolle.

Skenaario 1: Tulosta teksti konsoliin.

Tässä skenaariossa vain tulostamme tekstin konsoliin käyttämällä kurkkua.

Vaihe 1) Luo projekti pimennyksellä.

Luo Java-projekti nimellä "CucumberWithSelenium", kuten alla olevassa kuvakaappauksessa näkyy.

Vaihe 2) Jar-tiedostojen lisääminen projektiin.

Napsauta hiiren kakkospainikkeella Project> Select Properties> Go to Java Build Path. Lisää kaikki aiemmin ladatut kirjastot.

Vaihe 3) Ominaisuustiedoston luominen

Luo ominaisuustiedosto ensin luomalla ominaisuuksien kansio alla olevan kuvakaappauksen mukaisesti.

Syötä nyt kansion nimi 'Features' ja napsauta 'Finish' -painiketta.

Luo nyt Ominaisuudet-kansioon ominaisuustiedosto nimellä "MyTest.feature" - Prosessi on samanlainen kuin kansion luominen

Huomaa: Sinun on ehkä asennettava Cucumber Eclipse -laajennus, jotta tämä toimii. Siirry - Ohjeet-> Asenna uusi ohjelmisto-> kopioi liitä linkki http://cucumber.github.io/cucumber-eclipse/update-site/ ja asenna

Vaihe 4) Kirjoita skenaarioita.

Alla olevat rivit kirjoitetaan MyTest.feature-tiedostoon käyttäen Gherkin-kieltä alla olevan kuvan mukaisesti:

Ominaisuus: Palauta toiminnot sovelluksen kirjautumissivulle

Skenaario: Vahvista Palauta-painike

Annettu Avaa Firefox ja käynnistä sovellus

Kun Syötä käyttäjätunnus ja salasana

Nollaa sitten tunnistetiedot

Koodin selitys

Rivi 1) Tälle riville kirjoitamme liiketoiminnan toiminnallisuuden.

Rivi 2) Tässä rivissä kirjoitetaan skenaario testattavaksi.

Rivi 3) Tällä rivillä määritellään ennakkoehto.

Rivi 4) Tällä rivillä määritämme suoritettavan toiminnon.

Rivi 4) Tässä rivissä määritellään odotettu tulos tai tulos.

Vaihe 5) Seleenin testirunner-komentosarjan kirjoittaminen seleenikurkkukehyksen suunnittelua varten

Täällä luomme TestRunner-paketin ja sitten sen alle Runner.java-luokan tiedoston.

paketti TestRunner;tuo org.junit.runner.RunWith;tuoda kurkkua.api.CucumberOptions;tuoda kurkkua.api.junit.Kurkku;@RunWith (Kurkku.luokka)@CucumberOptions (features = "Features", liima = {"StepDefinition"})julkisen luokan juoksija{}

Yllä olevassa Kurkun Java-esimerkkikoodissa suoritamme kurkkutestin käyttämällä seuraavia merkintöjä:

@RunWith () -merkintä kertoo testijuoksijaluokasta testien suorittamisen aloittamiseksi.

@CucmberOptions () -merkintää käytetään asettamaan joitain ominaisuuksia kurkkutestillemme, kuten ominaisuustiedosto, vaihemääritys jne.

Näyttökuva TestRunner-tiedostosta.

Vaihe 6) Vaihemäärityskoodin luominen.

Nyt täällä luomme 'StepDefinition' -paketin ja sitten sen alle 'Steps.java' -komentotiedoston. Tässä kirjoitamme itse asiassa seleeniskriptin testin suorittamiseksi kurkkumenetelmillä.

paketti StepDefinition;tuoda kurkkua.api.java.enGiven;tuoda kurkkua.api.java.en.Sitten;tuoda kurkkua.api.java.en milloin;julkisen luokan vaiheet {@Given ("Avaa Firefox ja käynnistä sovellus $")public void open_the_Firefox_and_launch_the_application () heittää heitettävää{System.out.println ("Avaa tämä vaihe Firefox ja käynnistä sovellus.");}@When ("Anna käyttäjänimi ja salasana $")public void enter_the_Username_and_Password () heittää heitettävän{System.out.println ("Kirjoita tämä vaihe käyttäjänimi ja salasana kirjautumissivulle.");}@Then ("Reset the credential $")public void Reset_the_credential () heittää heitettävän{System.out.println ("Napsauta tätä vaihetta Palauta-painiketta.");}}

Yllä olevassa koodissa luokka luodaan nimellä 'Steps'. Kurkkumerkintää käytetään kartoittamiseen ominaisuustiedostolla. Jokainen merkintämenetelmä on määritelty:

@Given annotation define method avata Firefox ja käynnistää sovellus

@Kun merkinnässä määritetään tapa syöttää käyttäjänimi ja salasana

@Sitten merkinnän määritystapa palauttaa tunnistetiedot

Jokaisessa menetelmässä tulostamme vain viestin.

Alla on kuvakaappaus 'Steps.java' -komentosarjasta ja projektipuusta, miltä se näyttää.

Huomaa: Vaiheen määrittely ei ole muuta kuin vaiheet, jotka haluat suorittaa tällä kurkkumenetelmällä.

Vaihe 7) Suoritetaan komentosarja.

Käyttäjä voi suorittaa tämän komentosarjan Test runner -ohjelmasta, ts. 'Runner.java', kuten alla olevassa kuvakaappauksessa näkyy.

Vaihe 8) Analysoi tulos.

Suoritettaessa Runner.java-komentosarjaa, se näyttää tekstin konsolissa. Se on sama Steps.java-komentosarjassa määritelty teksti.

Skenaario 2: Anna kirjautumistunnus ja nollaa arvo.

Täällä syötämme vain tunnistetiedot Guru99-demon kirjautumissivulle ja nollaamme arvon

Skenaariota 2 varten meidän on päivitettävä vain Steps.java-komentosarja. Tässä kirjoitamme itse asiassa seleenikoodin alla olevien ohjeiden mukaisesti. Ensin meidän on lisättävä Selenium-purkitiedosto tähän projektiin.

Vaihe 1) Tässä päivitämme 'Steps.java' -koodin alla olevan koodin ja kuvakaappauksen mukaisesti.

paketti StepDefinition;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuoda kurkkua.api.java.enGiven;tuoda kurkkua.api.java.en.Sitten;tuoda kurkkua.api.java.en milloin;julkisen luokan vaiheet {WebDriver-ohjain;@Given ("Avaa Firefox ja käynnistä sovellus $")public void open_the_Firefox_and_launch_the_application () heittää heitettävää{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");ohjain = uusi FirefoxDriver ();ohjain.hallinta (). ikkuna (). maksimoi ();driver.get ("http://demo.guru99.com/v4");}@When ("Anna käyttäjänimi ja salasana $")public void enter_the_Username_and_Password () heittää heitettävän{driver.findElement (By.name ("uid")). sendKeys ("käyttäjänimi12");driver.findElement (By.name ("salasana")). sendKeys ("password12");}@Then ("Reset the credential $")public void Reset_the_credential () heittää heitettävän{driver.findElement (By.name ("btnReset")). napsauta ();}}

Näyttökuva yllä olevasta seleenikirjoituksesta.

Vaihe 2) Suorita komentosarja.

Päivityksen jälkeen suoritamme Runner.java.

Vaihe 3) Analysoi tulos.

Lähdössä näet seuraavat:

  • Selain käynnistettiin.
  • Guru99-pankin demosivusto avataan.
  • Käyttäjätunnus ja salasana sijoitetaan kirjautumissivulle.
  • Nollaa arvot.

Skenaario 3: Anna kirjautumistunnus Guru99: ssä ja nollaa arvo. Tee tämä 3 tietojoukolle.

Tässä meidän on päivitettävä sekä 'Step.java' että ominaisuustiedosto.

Vaihe 1) Päivitä ominaisuustiedosto alla olevan kuvan mukaisesti:

Täällä päivitämme ominaisuustiedoston 'Scenario Outline' ja 'esimerkkejä' -syntaksilla.

Ominaisuus: Palauta toiminnot sovelluksen kirjautumissivulle

Skenaarion pääpiirteet: Palautuspainikkeen vahvistus tunnistetietojen numeroilla

Annettu Avaa Firefox ja käynnistä sovellus

Kun Syötä Käyttäjätunnus ja Salasana

Nollaa sitten tunnistetiedot

Esimerkkejä:

| käyttäjänimi | salasana |

| Käyttäjä1 | salasana1 |

| Käyttäjä2 | salasana2 |

| Käyttäjä3 | salasana3 |

// Tällä rivillä määritellään tietojoukko.

Vaihe 2) Päivitä nyt Step.java-komentosarja.

Täällä päivitämme menetelmät parametrien välittämiseksi, päivitetty komentosarja näkyy alla:

paketti StepDefinition;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuoda kurkkua.api.java.enGiven;tuoda kurkkua.api.java.en.Sitten;tuoda kurkkua.api.java.en milloin;julkisen luokan vaiheet {WebDriver-ohjain;@Given ("Avaa Firefox ja käynnistä sovellus $")public void open_the_Firefox_and_launch_the_application () heittää heitettävää{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");ohjain = uusi FirefoxDriver ();ohjain.hallinta (). ikkuna (). maksimoi ();driver.get ("www.demo.guru99.com/v4");}@When ("Anna käyttäjänimi \" (. *) \ "Ja salasana \" (. *) \ "$")public void enter_the_Username_and_Password (merkkijonon käyttäjänimi, merkkijonon salasana) heittää heitettäväksi{driver.findElement (By.name ("uid")). sendKeys (käyttäjänimi);driver.findElement (By.name ("salasana")). sendKeys (salasana);}@Then ("Reset the credential $")public void Reset_the_credential () heittää heitettävän{driver.findElement (By.name ("btnReset")). napsauta ();}}

Vaihe 3) Suorita nyt päivitetty komentosarja.

Näytön alapuolella näkyy komentosarjan onnistunut toteutus ja kunkin tietojoukon ottama aika.

Vaihe 4) Analysoi tulos.

Lähdössä näet seuraavat:

Tuloksen alapuolella toistetaan tietojoukkojen lukumäärä, ts. 3 sarjaa.

  • Selain käynnistettiin.
  • Guru99-pankin demosivusto avataan.
  • Käyttäjätunnus ja salasana sijoitetaan kirjautumissivulle.
  • Nollaa arvot.

Johtopäätös.

Kurkku on erittäin suosittu BDD-työkalu. Se on helppo lukea ja kaikkien sidosryhmien, myös teknisten ja ei-teknisten henkilöiden, ymmärrettävissä.

Kurkku voidaan integroida seleeniin seuraavien 3 vaiheen avulla

  1. Luo ominaisuustiedosto, jossa määritetään ominaisuus ja skenaariot askel askeleelta Gherkin-kielellä.
  2. Luo Testrunner-tiedosto. Tässä tiedostossa integroimme kurkun ja BDD-kehyksen Seleniumiin. Suoritamme tämän käsikirjoituksen.
  3. Creat Step -määritys, varsinainen seleenikomentosarja, joka on määritelty tässä paketissa.

Mielenkiintoisia artikkeleita...