TestNG rühmad: kaasake, välistage näite abil - seleeni õpetus

Lang L: none (table-of-contents):

Anonim

TestNG on testimisraamistik, mis hõlmab erinevat tüüpi testide kujundusi, nagu ühik, funktsionaalne, otsast lõpuni, kasutajaliides ja integreerimistesti.

Võite käivitada ühe või mitu paketti (pakett tähendab siin klassirühma kapseldamist õigesse direktorivormingusse), luues XML-i ja käivitades selle läbi maven-i.

Selles õpetuses saate teada

  • TestNG rühmad koos näitega
  • Maven ja Java tee määramine keskkonnamuutuvas (Windowsi kasutajale)
  • Sissejuhatus XML-i ja kuidas XML-faile teha
  • Teine mehhanism grupeerimise asemel on test XML-is välistamine või kaasamine
  • Koodi käivitamine XML-faili abil (video demo)

TestNG rühmad koos näitega

Testngis kasutame rühmi, kui

  • Me ei soovi testimeetodeid eraldi määratleda erinevates klassides (sõltuvalt funktsionaalsusest) ja
  • Samal ajal soovite ignoreerida (mitte käivitada) mõnda testjuhtumit, nagu poleks neid koodis olemas.
  • Nii et selle elluviimiseks peame nad grupeerima. Selleks kasutatakse testNG-s toetatud mehhanisme "kaasa" ja "välista".

Allpool toodud näites oleme näidanud XML-failis rühmade kasutamise süntaksit.

@Test (rühmad = {"liimimine", "tugev_ties"}) 

Siin kasutame kahte rühma nime, st "liimimine" ja "tugev_ties" (need on loogilised nimed, mida saab vastavalt teie soovile muuta).

Silt määratleb rühmade alguse XML-is.

Nimetatud rühma testiklasside valimiseks kohandage oma XML-i. Allpool on toodud süntaks, kuidas deklareerida rühmi XML-failis, nt

Oletame, et klassis on 10 katsemeetodit.

Neist välja,

  • 6 meetodit on märgistatud rühmaga "liimimine" ja
  • 4 on grupis "strong_ties"

Edasi liikudes määrame Maven / Java tee ja kasutame Eclipse IDE-d, et näidata XML-faile kasutavate rühmade kasutamist Java-põhises Maven-projektis.

Maven ja Java tee määramine keskkonnamuutuvas (Windowsi kasutajale)

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

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

Sissejuhatus XML-i ja kuidas XML-faile teha

  • XML (Extensible Markup Language) fail Maven raamistikus sisaldab ühe või mitme testi teavet ja on määratletud sildiga .
  • Testi teave XML-is on tähistatud märgendiga ja see võib sisaldada ühte või mitut TestNG klassi.
  • Java-klass, mis sisaldab testimeetodite kohal märkust @Test, on määratletud kui TestNG-meetodid.

Toimiva testi loomiseks kasutatakse järjestikku mitut silti NG xml, näiteks , ja

  • Esiteks on silt , mis omab loogilist nime, mis määrab kogu teabe, mida testNG-d teavitatakse täitmisaruande loomiseks.
  • Teine on , pange tähele, et see on loogiline nimi, mis sisaldab teavet testi täitmise aruande kohta nagu läbimine, ebaõnnestumine, testijuhtude vahelejätmine ja muud teavet, näiteks kogu täitmise aeg ja grupiteave
  • Kolmas on , com.group.guru99 on kasutatav pakett ja Test Class nimi on TC_Class1.

Kasutame seda XML-i tulevaste video negatiivsete külgede jaoks.

Teine mehhanism grupeerimise asemel on test XML-is välistamine või kaasamine

Oletame, et leiate grupimehhanismide kompleksi kasutamise, siis testNG XML hõlbustab funktsiooni testi välistamiseks / lisamiseks.

Välista silt : süntaksi välistava märgendi  kaasamise silt : kaasamise märgendi  süntaks

Märkus. Me võime lisada / välistada mitu testjuhtumit korraga ja see töötab ka gruppidega.

Koodi käivitamine XML-faili abil (video demo)

Java-koodi ja XML-i selgitus koos rühmaga, välistage silt ja lisage XML-i.

  • Stsenaarium : käivitage Guru99 demopanga sait, kontrollige pärast sisselogimisandmeid sisselogimislehel väheseid asju ja kontrollige sisselogimisel uuesti rakenduses vähe uusi asju.

Märkus . Iga kodeeritud samm tuleks deklareerida eraldi meetodites, kuid kui see on täidetud, täidab see testimeetodeid sõltuvalt XML-faili kirjetest.

1. meetod : lähtestage brauser ja käivitage URL (tc01LaunchURL ())

2. meetod : kontrollige sisselogimislehe päist (tc02VerifyLaunchPage ())

3. meetod : sisestage sisselogimisvormile kasutajanimi ja parool (tc03EnterCredentials ())

4. meetod : kontrollige halduri ID olemasolu kasutaja juhtpaneelil (tc04VerifyLoggedInPage ())

5. meetod : kontrollige veel mõnda linki kasutaja juhtpaneelil (tc05VerifyHyperlinks ())

Meie stsenaariumi kood:

pakett com.group.guru99;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Test;avalik klass TC_Class1 {avalik staatiline lõplik WebDriver webDriver = uus FirefoxDriver () ;;Stringi käivitaminePageHeading = "// h3 [text () = 'Guru99 pank']";lõplik string String userName_element = "// sisestage [@ name = 'uid']", password_element = "// sisestage [@ name = 'password']",signIn_element = "// sisend [@ name = 'btnLogin']";lõplik string String userName_value = "mngr28642", password_value = "ydAnate";lõplik stringihaldurID = "// td [sisaldab (text (), 'Halduri ID')]";lõplik string String newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** See testjuhtum lähtestab veebidraiveri* /@Test (rühmad = {"liimimine", "tugev_ties"})public void tc01LaunchURL () {webDriver.manage (). aken (). maksimeeri ();webDriver.manage (). timeout (). implicitlyWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Kontrollib pealkirja olemasolu sisselogimislehel* /@Test (rühmad = {"liimimine"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"Kodulehe päist ei kuvata");System.out.println ("Kuvatakse avalehe pealkiri");}/ *** See testjuhtum sisestab kasutajanime, parooli ja klõpsab seejärel nuppu* sisselogimisnupp* /@Test (rühmad = {"liimimine", "tugev_ties"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (kasutajaNimi_element)). sendKeys (kasutajaNimi_väärtus);webDriver.findElement (By.xpath (parooli_element)). sendKeys (parooli_väärtus);webDriver.findElement (By.xpath (signIn_element)). klõpsake ();}/ *** See testjuhtum kontrollib sõime ID olemasolu DashBoardis* /@Test (rühmad = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"Juhi ID silti ei kuvata");System.out.println ("Kuvatakse silt Halduri ID");}/ *** See testjuhtum kontrollib uue kliendilingi olemasolu* Ja FundTransferi link vasakul paneelil* /@Test (rühmad = {"liimimine"})public void tc05VerifyHyperlinks () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Uut kliendi hüperlingi ei kuvata");System.out.println ("Kuvatakse uue kliendi hüperlink");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Rahaülekande hüperlingi ei kuvata");System.out.println ("Kuvatakse rahaülekande hüperlink");}}

Pange tähele: mandaadid kehtivad ainult 20 päeva, nii et kui proovite oma kohalikus masinas koodi käivitada, võib teil ilmneda vale mandaadi tõrge. Sisselogimismandaatide loomiseks leiate allolevad toimingud:

  1. Käivitage http://www.demo.guru99.com
  2. Sisestage kasti oma e-posti aadress.
  3. Klõpsake sisestusklahvi ja näete ekraanil oma sisselogimisandmeid.

Koodi selgitus:

Nagu eespool mainitud, oleme loonud 5 testjuhtumit iga toimingu sooritamiseks iseseisvates meetodites.

Võite täheldada, et iga meetodi jaoks oleme seostanud rühma parameetri, mis sisaldab selles mingit väärtust.

Põhimõtteliselt on need eristavate rühmade nimed "tugevad_sid" ja "sidumine".

  • Esimene ja kolmas meetod on märgistatud kui "liimimine", "strong_ties", mis tähendab, et kui XML-i värskendatakse mõnes rühmas, siis see testjuhtum töötab.
  • Teine meetod on märgitud ainult sidumisrühma, see tähendab, et kui XML-i värskendatakse sidumisrühmaga. Ainult sel juhul see testjuhtum töötab.
  • Neljas testjuhtum on märgitud gruppi strong_ties, mis tähendab, et see testjuhtum töötab ainult siis, kui XML-i värskendatakse grupi strong_ties nimega.
  • Viimane, kuid mitte vähem oluline viies testjuhtum on seotud sidumisrühmaga, mis tähendab, et see testjuhtum töötab ainult siis, kui XML-i värskendatakse sidumisrühma nimega.

Seega on meil kokku 4 stsenaariumi;

  1. Soovime käivitada kõik testjuhtumid, olenemata rühma nimest. Sel juhul eemaldame grupimärgendi XML-i käitamisest.
  1. Soovime käivitada mõned testtestid, mis on seotud ainult ühe või teise rühmaga, st tugevate sidemete või sidumisega
  • Palun viita:

  • Selles videos kommenteeritakse grupi parameetrit XML-i käitamisel. Seega näete, et kõik testjuhtumid täideti.
  • Video jätkuna oleme nüüd XML-i lisanud rühma nime. Näete, et ainult selle grupi spetsiifilised testijuhud töötavad.
  1. Testjuhtumi välistamiseks kasutame välistamismehhanismi:
  • Palun viita

  • Näete, et oleme kasutanud välistama vähesed testjuhtumid (tc02), kirjutades nende nime XML-i käitamisel. Lõpptulemuses mainitud testjuhtumeid ei kasutatud.
  1. Viimasena kasutame testijuhtude kaasamiseks kaasatud testimehhanismi (tc01LaunchURL, tc03EnterCredentials ja tc05VerifyHyperlinkid)
    • Palun viita

    • Selles videos näete, et XML-is mainitud testjuhud töötavad ainult testi käivitamise ajal.

    Laadige kood nimetatud URL-ist alla, see sisaldab igat tüüpi testXML-i:

    Laadige ülaltoodud kood alla

    Järeldus

    Oleme siin õppinud suhteliselt uut viisi testjuhtumite käitamiseks, kasutades XML-i Mavenis.

    Alustasime testNG lühitutvustusega ja jätkasime Gruppide, väljajätmise ja kaasamise täieliku tehnilise kirjeldusega.