TestNG-ryhmät: Sisällytä, poissulkeminen esimerkin kanssa - seleeniopetusohjelma

Sisällysluettelo:

Anonim

TestNG on testauskehys, joka kattaa erityyppiset testisuunnitelmat, kuten yksikkö-, toiminnalliset, päästä päähän, käyttöliittymän ja integraatiotestin.

Voit suorittaa yhden tai useamman paketin (paketti tarkoittaa kapseloida ryhmäluokan oikeaan ohjainmuotoon) luomalla XML: n ja suorittamalla sen mavenin kautta.

Tässä opetusohjelmassa opit-

  • TestNG-ryhmät esimerkin avulla
  • Aseta maven- ja Java-polku ympäristömuuttujaan (Windows-käyttäjälle)
  • Johdatus XML: ään ja kuinka tehdä XML-tiedostoja
  • Toinen mekanismi Ryhmittelyn sijaan on "poissulkeminen" tai "sisällyttäminen" testi-XML: ään
  • Koodin suorittaminen XML-tiedostolla (videoesittely)

TestNG-ryhmät esimerkin avulla

Käytämme ryhmiä Testngissä, kun

  • Emme halua määritellä testimenetelmiä erikseen eri luokissa (toiminnallisuudesta riippuen) ja
  • Samalla haluat jättää huomiotta (olla suorittamatta) joitain testitapauksia ikään kuin niitä ei olisi koodissa.
  • Joten tämän toteuttamiseksi meidän on ryhmiteltävä ne. Tämä tapahtuu käyttämällä testNG: ssä tuettua "sisälly" - ja "poissulje" -mekanismia.

Alla olevassa esimerkissä olemme osoittaneet syntaksin siitä, miten ryhmiä käytetään XML-tiedostossa.

@Test (ryhmät = {"liimaus", "vahvat_tiesit"}) 

Tässä käytämme kahta ryhmänimeä, eli "liimaus" ja "vahvat_tiesit" (nämä ovat loogisia nimiä, joita voidaan muuttaa toiveidesi mukaan).

-tunniste määrittelee ryhmien aloituksen XML: ssä.

Muokkaa XML: ääsi valitaksesi mainittu ryhmä testiluokista. Alla mainitaan syntaksi siitä, miten ryhmät ilmoitetaan XML-tiedostossa, esim

Oletetaan siis, että luokassa on 10 testimenetelmää.

Niistä,

  • 6 menetelmää on merkitty "liimaus" -ryhmään ja
  • 4 on ryhmässä "strong_ties"

Eteenpäin aiomme asettaa maven / Java-polun ja käyttää Eclipse IDE -ohjelmaa osoittamaan XML-tiedostoja käyttävien ryhmien käyttöä Java-pohjaisessa maven-projektissa.

Aseta maven- ja Java-polku ympäristömuuttujaan (Windows-käyttäjälle)

Katso https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html

https://www.guru99.com/install-java.html

Johdatus XML: ään ja kuinka tehdä XML-tiedostoja

  • XML (Extensible Markup Language) -tiedosto Maven-kehyksessä sisältää yhden tai useamman testin tiedot ja on määritelty tunnisteella .
  • Testitiedot XML: ssä on tagi , ja ne voivat sisältää yhden tai useamman TestNG-luokan.
  • Java-luokka, joka sisältää @Test- merkinnän testimenetelmien yläpuolella, määritellään TestNG-menetelmiksi.

Useita tunnisteita käytetään peräkkäin toimivan testin NG xml rakentamiseen, kuten , ja

  • Ensimmäinen on -tunniste, jolla on looginen nimi, joka määrittelee täydelliset tiedot testattavalle NG: lle raportoidun suoritusraportin luomiseksi.
  • Toinen on , huomaa, että se on looginen nimi, joka sisältää testin suorittamisraportin tiedot, kuten läpäisy, epäonnistuminen, ohita testitapaukset ja muut tiedot, kuten suorituksen kokonaisaika ja ryhmätiedot
  • Kolmas on , com.group.guru99 on käytetty paketti ja Test Class -nimi on TC_Class1.

Käytämme tätä XML: ää tulevan videon haittapuolena.

Toinen mekanismi Ryhmittelyn sijaan on "poissulkeminen" tai "sisällyttäminen" testi-XML: ään

Oletetaan, että löydät ryhmämekanismikompleksin käytön, ja testNG XML helpottaa toiminnon sulkea pois / sisällyttää testi.

Poissuljettu tagi : Poissulkevan tagin syntaksit 
 Sisällytä tunniste : Sisältötunniste 

Huomaa: Voimme sisällyttää / sulkea pois useita testitapauksia kerrallaan, ja se toimii myös ryhmien kanssa.

Koodin suorittaminen XML-tiedostolla (videoesittely)

Selitys Java-koodista ja XML: stä ryhmän kanssa, poissulkea ja sisällyttää tagi XML: ään.

  • Skenaario : Käynnistä Guru99-demopankkisivusto, tarkista muutama asia sisäänkirjautumissivulla sen jälkeen, kun annat kirjautumistiedot ja tarkista muutama uusi asia sovelluksessa sisäänkirjautumisen yhteydessä.

Huomaa : Jokainen koodaamasi vaihe on ilmoitettava erillisinä menetelminä, mutta suoritettuaan se suorittaa testimenetelmät XML-tiedoston merkintöjen mukaan.

Tapa 1 : Alusta selain ja käynnistä URL (tc01LaunchURL ())

Tapa 2 : Tarkista kirjautumissivun otsikko (tc02VerifyLaunchPage ())

Tapa 3 : Anna käyttäjänimi ja salasana kirjautumislomakkeeseen (tc03EnterCredentials ())

Tapa 4 : Tarkista Manager ID: n olemassaolo käyttäjän hallintapaneelissa (tc04VerifyLoggedInPage ())

Tapa 5 : Tarkista muutama linkki User DashBoardissa (tc05VerifyHyperlinks ())

Skenaarion koodi:

paketti com.group.guru99;tuo java.util.concurrent.TimeUnit;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuo org.testng.Assert;tuo org.testng.annotations.Test;julkinen luokka TC_Class1 {julkinen staattinen lopullinen WebDriver webDriver = uusi FirefoxDriver () ;;Merkkijono launchPageHeading = "// h3 [text () = 'Guru99 Bank']";lopullinen merkkijono userName_element = "// input [@ name = 'uid']", password_element = "// input [@ name = 'password']",signIn_element = "// input [@ name = 'btnLogin']";lopullinen merkkijono userName_value = "mngr28642", password_value = "ydAnate";viimeinen merkkijono managerID = "// td [sisältää (teksti (), 'Hallinnotunnus')]";lopullinen merkkijono newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Tämä testitapaus alustaa webDriverin* /@Test (ryhmät = {"liimaus", "vahvat_tiesit"})public void tc01LaunchURL () {webDriver.manage (). ikkuna (). maksimoi ();webDriver.manage (). aikakatkaisut (). implisiittisestiWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Tarkistaa otsikon olemassaolon kirjautumissivulla* /@Test (ryhmät = {"liimaus"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"Kotisivun otsikkoa ei näytetä");System.out.println ("Kotisivun otsikko näytetään");}/ *** Tämä testitapaus antaa käyttäjänimen, salasanan ja napsauttaa sitten* Kirjaudu sisään -painike* /@Test (ryhmät = {"liimaus", "vahvat_tiesit"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (käyttäjänimen_elementti)). sendKeys (käyttäjänimen_arvo);webDriver.findElement (By.xpath (salasana-elementti)). sendKeys (salasana-arvo);webDriver.findElement (By.xpath (signIn_element)). napsauta ();}/ *** Tämä testitapaus vahvistaa hoitajan henkilöllisyyden DashBoardissa* /@Test (ryhmät = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"Manager ID -tunnistetta ei näytetä");System.out.println ("Hallintunnisteen tunniste näytetään");}/ *** Tämä testitapaus tarkistaa uuden asiakaslinkin olemassaolon* Ja FundTransfer-linkki vasemmassa paneelissa* /@Test (ryhmät = {"liimaus"})public void tc05VerifyHyperlinkit () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Uuden asiakkaan hyperlinkkiä ei näytetä");System.out.println ("Uusi asiakkaan hyperlinkki näytetään");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Rahansiirron hyperlinkkiä ei näytetä");System.out.println ("Rahansiirron hyperlinkki näytetään");}}

Huomaa: Tunnistetiedot ovat voimassa vain 20 päivää, joten jos yrität suorittaa koodia paikallisella koneellasi, saatat kohdata virheellisiä kirjautumistietovirheitä. Luo kirjautumistunnuksesi alla olevista vaiheista:

  1. Käynnistä http://www.demo.guru99.com
  2. Kirjoita sähköpostiosoitteesi ruutuun.
  3. Napsauta Enter-näppäintä ja näet kirjautumistietosi näytöllä.

Koodin selitys:

Kuten edellä mainittiin, olemme luoneet 5 testitapausta kunkin toiminnon suorittamiseksi itsenäisillä menetelmillä.

Voit havaita, että jokaiseen menetelmään olemme liittäneet ryhmäparametrin, jolla on jonkin verran arvoa siinä.

Pohjimmiltaan nämä ovat erilaisten ryhmien nimet, eli "vahvat_tuotteet" ja "liimaus".

  • Ensimmäinen ja kolmas menetelmä on merkitty "liimaus", "strong_ties", mikä tarkoittaa, että jos XML päivitetään jossakin ryhmässä, tämä testitapaus suoritetaan.
  • Toinen menetelmä on merkitty vain "liimaus" -ryhmään, se tarkoittaa, että jos XML päivitetään sidosryhmällä. Vain siinä tapauksessa tämä testitapaus suoritetaan.
  • Neljäs testitapaus on merkitty ryhmään strong_ties, mikä tarkoittaa, että tämä testitapaus suoritetaan vain, jos XML päivitetään vahvan_ties-ryhmän nimellä.
  • Viimeinen, mutta ei vähäisin viides testitapaus on liitetty sidosryhmään, mikä tarkoittaa, että tämä testitapaus suoritetaan vain, jos XML päivitetään sidosryhmän nimellä.

Joten meillä on kaikkiaan 4 skenaariota;

  1. Haluamme suorittaa kaikki testitapaukset ryhmän nimestä riippumatta. Tällöin poistamme ryhmätunnisteen XML: n suorittamisesta.
  1. Haluamme suorittaa testitapauksia muutamia testejä, jotka liittyvät vain jompaankumpaan ryhmään, ts
  • Katso:

  • Tässä videossa Ryhmä-parametriä kommentoidaan XML: n suorittamisesta. Näin näet, että kaikki testitapaukset on suoritettu.
  • Videon jatkoa varten olemme nyt sisällyttäneet ryhmän nimen XML: ään. Näet vain kyseiselle ryhmälle ominaiset testitapaukset ovat vain käynnissä.
  1. Käytämme poissulkemismekanismia testitapauksen poissulkemiseksi:
  • Ole hyvä ja katso

  • Näet, että olemme käyttäneet poissulkemista muutamasta testitapauksesta (tc02) kirjoittamalla heidän nimensä XML-ajon aikana. Lopputuloksessa mainittuja testitapauksia ei suoritettu.
  1. Viimeiseksi käytämme sisällytystestausmekanismia testitapausten sisällyttämiseen (tc01LaunchURL, tc03EnterCredentials ja tc05VerifyHyperlinkit)
    • Ole hyvä ja katso

    • Tässä videossa näet, että XML: ssä mainitut testitapaukset ovat käynnissä vain testin suorittamisen aikana.

    Lataa koodi mainitusta URL-osoitteesta, se sisältää kaiken tyyppisen testXML: n:

    Lataa yllä oleva koodi

    Johtopäätös

    Olemme oppineet täällä suhteellisen uuden tavan suorittaa testitapauksia XML: n avulla Maven-projektissa.

    Aloitimme antamalla lyhyen esittelyn testNG: stä ja jatkoimme ryhmien, poissulkemis- ja sisällyttämisohjeiden täydellistä teknistä eritelmää.