Automaatiotestaus kurkkutyökalulla ja seleenillä – seleenin opetusohjelma # 30

Viimeisessä Seleeni-opetusohjelmassa esiteltiin sinulle Selenium Grid, joka on hajautettu testin suoritusympäristö nopeuttamiseksi koepassin suorittaminen.

Nyt tämän kattavan Selenium-harjoitussarjan lopussa opimme edistyneitä Selenium-testauksia ja niihin liittyviä käsitteitä.

Tässä ja seuraavassa opetusohjelmassa esittelee sinulle Kurkku – käyttäytymiseen perustuvan kehityksen (BDD) kehyksen, jota käytetään seleenin kanssa hyväksyntätestien suorittamiseen.

Kurkkujen esittely

Kurkku on BDD (Behavior Driven Development) -kehykseen perustuva työkalu, jota käytetään verkkosovelluksen hyväksyntätestien kirjoittamiseen. Se mahdollistaa toiminnallisen validoinnin automatisoinnin helposti luettavassa ja ymmärrettävässä muodossa (kuten tavallinen englanti) yritysanalyytikoille, kehittäjille, testaajille jne.

Kurkkuominaisuustiedostot voivat olla hyvä asiakirja kaikille. On monia muita työkaluja, kuten JBehave, jotka tukevat myös BDD-kehystä. Alun perin Kurkku otettiin käyttöön Rubyssä ja laajennettiin sitten Java-kehykseen. Molemmat työkalut tukevat alkuperäistä JUnit-laitetta.

Käyttäytymisohjattu kehitys on testiohjatun kehityksen laajennus ja sitä käytetään järjestelmän testaamiseen tietyn koodikappaleen sijaan. Keskustelemme lisää BDD: stä ja BDD-testien kirjoittamisen tyylistä.

Kurkkua voidaan käyttää yhdessä seleenin, Watirin ja Capybaran kanssa. Kurkku tukee monia muita kieliä, kuten Perl, PHP, Python, Net jne. tässä opetusohjelmassa keskitymme kurkkuun, jolla on Java kielenä.

Kurkkujen perusteet

Jotta ymmärtäisimme kurkkua, meidän on tiedettävä kaikki kurkun ominaisuudet ja sen käyttö.

# 1) Ominaisuustiedostot:

Ominaisuustiedostot ovat olennainen osa kurkkua, jota käytetään testausautomaatiovaiheiden tai hyväksyntätestien kirjoittamiseen. Tätä voidaan käyttää suorana asiakirjana. Vaiheet ovat sovelluksen määrittely. Kaikki ominaisuustiedostot päättyvät .feature-laajennukseen.

Ominaisuustiedosto:

Ominaisuus: Kirjautumistoiminto-ominaisuus

Sisäänkirjautumisen toimivuuden varmistamiseksi
Haluan suorittaa kurkkutesti varmistaaksesi, että se toimii.

Skenaario: Kirjautumistoiminnot

Annettu käyttäjä siirtyy sivustoon SOFTWARETETINGHELP.COM
Kun käyttäjä kirjautuu sisään käyttäjänimellä ”USER” ”Ja salasana” SALASANA ”
Silloin sisäänkirjautumisen pitäisi olla onnistunut.

Skenaario: Kirjautumistoiminnot

Annettu käyttäjä siirtyy sivustoon SOFTWARETETINGHELP.COM
Kun käyttäjä kirjautuu sisään käyttämällä käyttäjätunnusta nimellä” KÄYTTÄJÄ1 ”ja salasana” SALASANA1 ”
Sitten virhesanoma tulee heittää.

# 2) Ominaisuus:

Tämä antaa tietoa korkean tason liiketoiminnasta (katso edellinen esimerkki) ja testattavan sovelluksen tarkoitus. Kaikkien tulisi pystyä ymmärtämään ominaisuustiedoston tarkoitus lukemalla ensimmäinen ominaisuusvaihe. Tämä osa pidetään periaatteessa lyhyenä.

# 3) Skenaario:

Pohjimmiltaan skenaario edustaa tiettyä testattavaa toimintoa. Näkemällä skenaarion käyttäjän tulisi pystyä ymmärtämään skenaarion tarkoitus ja testin tarkoitus. Jokaisen skenaarion tulisi noudattaa annettuja tietoja, milloin ja sitten muoto. Tätä kieltä kutsutaan nimellä ”kurkku”.

  1. Annettu: Kuten yllä mainittiin, annettu määrittää ennakkoehdot. Se on pohjimmiltaan tunnettu tila.
  2. Milloin: Tämä on käytetään, kun jokin toiminto on suoritettava. Kuten yllä olevassa esimerkissä, olemme nähneet, kun käyttäjä yrittää kirjautua sisään käyttäjänimellä ja salasanalla, siitä tulee toiminto.
  3. Sitten: Odotetun lopputuloksen tai tuloksen tulisi olla Esimerkiksi: tarkista, että sisäänkirjautuminen on onnistunut, sivun navigointi onnistuu.
  4. Tausta: Aina kun jokin vaihe on suoritettava jokaisessa skenaariossa, nämä vaiheet on sijoitettava taustalle. Esimerkki: Jos käyttäjän on tyhjennettävä tietokanta ennen jokaista skenaariota, sitten nämä vaiheet voidaan asettaa taustalle.
  5. Ja: Ja sitä käytetään kahden tai useamman saman tyyppisen toiminnan yhdistämiseen.

Esimerkki:

Ominaisuus: Kirjautumistoiminnot-ominaisuus

Skenaario: Sisäänkirjautumistoiminnot
Annettu käyttäjä siirtyy sivustoon SOFTWARETETINGHELP.COM
Kun käyttäjä kirjautuu sisään käyttäjänimellä ”USER”
Ja passwo rd ”salasana”
Sitten sisäänkirjautumisen pitäisi olla onnistunut
Ja kotisivun tulisi näkyä

Esimerkki taustasta:

Tausta:

Annettu käyttäjä kirjautunut sisään tietokantojen järjestelmänvalvojana
Ja kaikki roskapostiarvot tyhjennetään

# 4) Skenaarion luonnos:

Skenaario-ääriviivoja käytetään, kun sama testi on suoritettava eri tavoin tietojoukko. Otetaan sama esimerkki. Meidän on testattava kirjautumistoiminnot useilla eri käyttäjätunnus- ja salasanasarjoilla.

Ominaisuus: Kirjautumistoiminto-ominaisuus

Varmistaaksemme kirjautumistoiminnot,
haluan suorittaa kurkkutesti sen toimivuuden varmistamiseksi

Skenaarion pääpiirteet: Kirjautumistoiminnot

Annettu käyttäjä siirtyy SOFTWARETESTINGHELP-palveluun.COM
Kun käyttäjä kirjautuu sisään käyttämällä käyttäjätunnusta nimellä < käyttäjätunnus > ja salasana < salasana >
Silloin kirjautumisen pitäisi onnistua.

Esimerkkejä:
| käyttäjänimi | salasana |
| Tom | salasana1 |
| Harry | salasana2 |
| Jerry | salasana3 |

Huomaa:

  1. Kuten yllä olevassa esimerkissä näkyy, sarakkeiden nimet välitetään parametrina When-lauseelle.
  2. Skenaarion sijasta sinun on käytettävä skenaarion muotoilua.
  3. Esimerkkejä käytetään erilaisten argumenttien välittämiseen taulukkomuodossa. Pystysuoria putkia käytetään erottamaan kaksi erilaista pylvästä. Esimerkki voi sisältää useita eri sarakkeita.

# 5) Tunnisteet:

Kurkku suorittaa oletuksena kaikki skenaariot kaikissa ominaisuustiedostoissa. Reaaliaikaisissa projekteissa voi olla satoja toimintotiedostoja, joita ei tarvitse suorittaa aina.

Esimerkiksi: Savutestiin liittyvien ominaisuustiedostojen ei tarvitse toimia koko ajan. Joten jos mainitset tunnisteen savuttomana jokaisessa ominaisuustiedostossa, joka liittyy savutestiin ja suorittaa kurkkutestin @SmokeTest-tunnisteella. Kurkku ajaa vain ne tunnisteille ominaiset ominaisuustiedostot. Seuraa alla olevaa esimerkkiä. Voit määrittää useita tunnisteita yhteen ominaisuustiedostoon.

Esimerkki yksittäisten tunnisteiden käytöstä:

@SmokeTest

Ominaisuus: Kirjautumistoiminto-ominaisuus

Sisäänkirjautumisen toimivuuden varmistamiseksi

Haluan suorittaa kurkkutesti varmistaakseni, että se toimii.

Skenaarion pääpiirteet: Kirjautumistoiminnot

Annettu käyttäjä siirtyy SOFTWARETESTINGHELP-palveluun. COM
Kun käyttäjä kirjautuu sisään käyttämällä käyttäjätunnusta nimellä < käyttäjätunnus > ja salasana < salasana >
Silloin sisäänkirjautumisen pitäisi olla onnistunut.

Esimerkki useiden tunnisteiden käytöstä:

Kuten alla olevassa esimerkissä sama ominaisuustiedosto näkyy voidaan käyttää sekä savutestiskenaarioihin että kirjautumistestiskenaarioihin. Kun aiot suorittaa komentosarjan savutestiä varten, käytä @SmokeTest. Vastaavasti, kun haluat komentojonesi suorittavan kirjautumistestin, käytä @LoginTest -tunnistetta.

Mikä tahansa määrä tunnisteita voidaan mainita sekä ominaisuustiedostolle että skenaariolle.

@SmokeTest @ LoginTest

Ominaisuus: Sisäänkirjautumisominaisuus

Sisäänkirjautumisen toimivuuden varmistamiseksi
haluan suorittaa kurkkutesti varmistaaksesi, että se toimii

Skenaarion kuvaus: Kirjautumistoiminnot

Annettu käyttäjä siirtyy sivustoon SOFTWARETETINGHELP.COM
Kun käyttäjä kirjautuu sisään käyttämällä käyttäjänimeä nimellä < käyttäjätunnus > ja salasana < salasana >
Silloin sisäänkirjautumisen pitäisi onnistua.

Vastaavasti voit määritä tunnisteet tietyn skenaarion suorittamiseksi ominaisuustiedostossa. Tarkista alla oleva esimerkki tietyn skenaarion suorittamiseksi.

Ominaisuus: Kirjautumistoiminto-ominaisuus

Varmistaaksemme kirjautumistoiminnot,
haluan suorittaa kurkkutesti varmistaaksesi, että se on toimii

@positiveScenario
Skenaario: Kirjautumistoiminnot

Annettu käyttäjä siirtyy sivustoon SOFTWARETETINGHELP.COM
Kun käyttäjä kirjautuu sisään käyttämällä käyttäjänimeä ”KÄYTTÄJÄ” ja Salasana ”SALASANA”
Silloin kirjautumisen pitäisi olla onnistunut.

@negaviveScenario
Skenaario: Sisäänkirjautumistoiminnot

Annettu käyttäjä siirtyy sivustoon SOFTWARETETINGHELP.COM
Kun käyttäjä kirjautuu sisään käyttämällä käyttäjänimeä käyttäjätunnuksella ”USER1” ja salasana ”SALASANA1”
Tällöin virheilmoituksen pitäisi heittää

# 6) JUnit Runner:

Tietyn ominaisuustiedoston suorittamiseen kurkku käyttää tavallista JUnit Runneria ja määritä tunnisteet @Cucumber . Vaihtoehdot. Useita tunnisteita voidaan antaa pilkuilla erillään. Täällä voit määrittää raportin polun ja luotavan raportin tyypin.

Esimerkki Junit Runnerista:

Vastaavasti voit antaa kurkulle ohjeet suorittaa useita tunnisteita. Alla oleva esimerkki kuvaa kuinka useiden tunnisteiden käyttäminen kurkussa eri skenaarioiden suorittamiseen.

# 7) Kurkkuraportti:

Kurkku luo oman HTML-muodon. Parempi raportointi voidaan kuitenkin tehdä Jenkinsillä tai bambutyökalulla. Raportoinnin yksityiskohdat käsitellään seuraavassa kurkkuaiheessa.

Kurkkuprojektin määritys:

Yksityiskohtainen kuvaus kurkkuprojektista on saatavana erikseen seuraavassa opetusohjelmassa. Katso lisätietoja Kurkkuoppaasta 2. osasta projektin asetuksista. Muista, että kurkulle ei tarvita ylimääräisiä ohjelmistoasennuksia.

Ominaisuustiedoston toteutus:

Meidän on toteutettava nämä vaiheet Java-ohjelmassa, jotta voimme testata ominaisuustiedostoja. On luotava luokka, joka sisältää annetut, milloin ja sitten lausunnot. Kurkku käyttää merkintöjään ja kaikki vaiheet upotetaan merkintöihin (annettu, milloin sitten) .Jokainen lause alkaa kirjaimella ”^”, jotta kurkku ymmärtää vaiheen alun. Samoin jokainen vaihe päättyy ”$”. Käyttäjä voi käyttää säännöllisiä lausekkeita erilaisten testitietojen välittämiseen. Säännölliset lausekkeet ottavat tietoja ominaisuuksien vaiheista ja siirtyvät vaiheiden määrittelyihin.Parametrien järjestys riippuu siitä, miten ne välitetään ominaisuustiedostosta. Katso seuraavasta oppaasta projektin asetukset ja kartoitus ominaisuus- ja Java-luokkien välillä.

Esimerkki:

Alla on esimerkki siitä, kuinka ominaisuustiedostot voidaan toteuttaa.

Tässä esimerkissä emme ole käyttäneet mitään seleenirajapintaa. Tämän tarkoituksena on vain osoittaa, kuinka kurkku toimii itsenäisenä kehyksenä. Noudata seuraavaa oppituntia seleenin integroimiseksi kurkkuun.

Kun suoritat kurkkujuoksijan luokan, kurkku alkaa lukea ominaisuustiedostojen vaiheita. Esimerkiksi, kun suoritat @smokeTest, kurkku lukee Feature step ja annettu lausunto skenaariosta. Heti kun kurkku löytää Given-lauseen, sama Given-lause etsitään java-tiedostoillesi. Jos sama vaihe löytyy java-tiedostosta, kurkku suorittaa samalle vaiheelle määritetyn toiminnon, muuten kurkku ohittaa vaiheen.

Päätelmä

Tässä opetusohjelmassa on käsitelty kurkkutyökalu ja sen käyttö reaaliaikaisessa skenaariossa.
Kurkku on suosituin työkalu moniin projekteihin, koska se on helposti ymmärrettävä, luettavissa ja sisältää liiketoiminnallisia toimintoja.

Seuraavassa luvussa käsitellään kuinka perustaa kurkku – java-projekti ja kuinka integroida Selenium WebDriver kurkkuun.

Päivitetty viimeksi: 18. tammikuuta 2021 06.40

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *