Skupine TestNG: Vključi, izključi s primerom - Vadnica za selen

Kazalo:

Anonim

TestNG je preskusni okvir, ki zajema različne vrste preskusnih modelov, kot so enota, funkcionalnost, uporabniški vmesnik in integracijski test.

Z enim ali več paketi (paket tukaj pomeni zajemanje skupine razredov v ustrezni obliki direktorja) lahko ustvarite XML in ga zaženete prek maven.

V tej vadnici boste izvedeli-

  • Preizkusite skupine NG s primerom
  • Nastavite pot maven in Java v spremenljivko okolja (za uporabnika sistema Windows)
  • Uvod v XML in kako narediti datoteke XML
  • Drugi mehanizem namesto razvrščanja v skupine je »izključi« ali »vključi« v preskusni XML
  • Kako zagnati kodo z datoteko XML (video predstavitev)

Preizkusite skupine NG s primerom

Skupine v Testngu uporabljamo, kadar,

  • Ne želimo ločeno definirati preskusnih metod v različnih razredih (odvisno od funkcionalnosti) in
  • Hkrati želite prezreti (ne izvajati) nekatere testne primere, kot da v kodi ne obstajajo.
  • Da bi to izvedli, jih moramo združiti. To se naredi z uporabo mehanizma "vključi" in "izključi", podprt v testNG.

V spodnjem primeru smo prikazali sintakso uporabe skupin v datoteki XML.

@Test (groups = {"bonding", "strong_ties"}) 

Tu uporabljamo dve imeni skupin, tj. "Bonding" in "strong_ties" (to sta logični ime, ki ju lahko spremenimo po vaši želji).

Oznaka definira začetek skupin v XML.

Prilagodite svoj XML, da izberete omenjeno skupino med preskusnimi razredi. Spodaj je navedena sintaksa, kako prijaviti skupine v datoteki XML, npr

Predpostavimo torej, da je v razredu 10 testnih metod.

Od njih,

  • 6 načinov je označenih v skupini "vezava" in
  • 4 so v skupini "strong_ties"

V nadaljevanju bomo nastavili pot maven / Java in uporabili Eclipse IDE za prikaz uporabe skupin, ki uporabljajo datoteke XML v projektu Maven na Javi.

Nastavite pot maven in Java v spremenljivko okolja (za uporabnika sistema Windows)

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

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

Uvod v XML in kako narediti datoteke XML

  • Datoteka XML (Extensible Markup Language) v okolju Maven vsebuje informacije enega ali več testov in je definirana z oznako .
  • Podatki o preskusu v XML so predstavljeni z oznako in lahko vsebujejo enega ali več razredov TestNG.
  • Razred Java, ki vsebuje opombo @Test nad testnimi metodami, je opredeljen kot TestNG metode.

Več zaporednih oznak se uporablja v zaporedju za izdelavo delujočega testa NG xml, kot so , in

  • Najprej je oznaka , ki vsebuje logično ime, ki definira popolne informacije, o katerih poroča testNG, da ustvari poročilo o izvedbi.
  • Drugi je , upoštevajte, da je logično ime, ki vsebuje informacije o poročilu o izvajanju testa, kot so pass, fail, preskoči testne primere in druge informacije, kot je skupni čas za izvedbo in informacije o skupini
  • Tretji je , com.group.guru99 je uporabljeni paket, ime testnega razreda pa TC_Class1.

Ta XML bomo uporabili za prihajajočo slabost videa.

Drugi mehanizem namesto razvrščanja v skupine je "izključi" ali "vključi" v preskusni XML

Recimo, da najdete uporabo zapletenega mehanizma skupine, potem testNG XML olajša funkcionalnost za izključitev / vključitev testa.

Izključi oznako : Sintaksa za oznako za izključitev  Vključi oznako : Sintaksa za oznako za vključitev 

Opomba: Naenkrat lahko vključimo / izključimo več testnih primerov, deluje pa tudi s skupinami.

Kako zagnati kodo z datoteko XML (video predstavitev)

Pojasnilo kode Java in XML s skupino, izključite in vključite oznako v XML.

  • Scenarij : Zaženite predstavitveno spletno mesto Guru99, preverite nekaj stvari na prijavni strani, nato vnesite poverilnice in znova preverite nekaj novih stvari v aplikaciji, ko ste prijavljeni.

Opomba : Vsak korak, ki ga kodirate, je treba prijaviti v ločenih metodah, po izvedbi pa bo izvedel preskusne metode, odvisno od vnosov v datoteki XML.

1. način : Inicializirajte brskalnik in zaženite URL (tc01LaunchURL ())

2. način : Preverite naslov strani za prijavo (tc02VerifyLaunchPage ())

3. način : Vnesite uporabniško ime in geslo v prijavni obrazec (tc03EnterCredentials ())

4. način : Preverite prisotnost ID-ja upravitelja na uporabniški nadzorni plošči (tc04VerifyLoggedInPage ())

5. način : Preverite še nekaj povezav na uporabniški nadzorni plošči (tc05VerifyHyperlinks ())

Koda za naš scenarij:

paket com.group.guru99;uvoz java.util.concurrent.TimeUnit;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Test;javni razred TC_Class1 {javni statični končni WebDriver webDriver = novi FirefoxDriver () ;;String launchPageHeading = "// h3 [text () = 'Guru99 Bank']";končni niz userName_element = "// input [@ name = 'uid']", password_element = "// input [@ name = 'password']",signIn_element = "// input [@ name = 'btnLogin']";končni niz userName_value = "mngr28642", password_value = "ydAnate";končni String managerID = "// td [vsebuje (besedilo (), 'Id upravitelja')]";končni niz newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Ta testni primer bo inicializiral webDriver* /@Test (groups = {"bonding", "strong_ties"})javna void tc01LaunchURL () {webDriver.manage (). window (). maximize ();webDriver.manage (). timeouts (). implicitlyWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Preveril bo prisotnost naslova na strani za prijavo* /@Test (groups = {"bonding"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"Naslov domače strani ni prikazan");System.out.println ("Prikaže se naslov domače strani");}/ *** Ta testni primer bo vnesel uporabniško ime, geslo in nato kliknil na* gumb za prijavo* /@Test (groups = {"bonding", "strong_ties"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (userName_element)). sendKeys (userName_value);webDriver.findElement (By.xpath (geslo_element)). sendKeys (geslo_vrednost);webDriver.findElement (By.xpath (signIn_element)). click ();}/ *** Ta testni primer bo preveril prisotnost ID-ja jaslice na DashBoard-u* /@Test (groups = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"Oznaka ID-ja upravitelja ni prikazana");System.out.println ("Prikazana je oznaka ID-ja jaslice");}/ *** Ta testni primer bo preveril prisotnost povezave Nova stranka* In povezava FundTransfer v levem podoknu* /@Test (groups = {"bonding"})public void tc05VerifyHyperlinks () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Nova hiperpovezava stranke ni prikazana");System.out.println ("Prikaže se hiperpovezava nove stranke");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Hiperpovezava za prenos sredstev ni prikazana");System.out.println ("Prikazana je hiperpovezava za prenos sredstev");}}

Prosimo, upoštevajte: poverilnice so veljavne le 20 dni, zato, če poskušate zagnati kodo na svojem lokalnem računalniku, se lahko prikaže napaka z neveljavnimi poverilnicami. Spodaj najdete korake za ustvarjanje poverilnic za prijavo:

  1. Zaženite http://www.demo.guru99.com
  2. V polje vnesite svoj e-poštni ID.
  3. Kliknite Enter in na zaslonu si oglejte svoje podatke za prijavo.

Pojasnilo kode:

Kot smo že omenili, smo ustvarili 5 testnih primerov za izvajanje vsakega dejanja z neodvisnimi metodami.

Opazite lahko, da smo vsaki metodi pridružili parameter skupine, ki vsebuje določeno vrednost.

V bistvu so to imena ločevalnih skupin, tj. "Strong_ties" in "bonding".

  • Prva in tretja metoda sta označeni kot "bonding", "strong_ties", kar pomeni, da če se XML posodobi v kateri koli skupini, se ta testni primer zažene.
  • Druga metoda je označena samo za skupino "vezava", to pomeni, da če je XML posodobljen s skupino za povezovanje. Samo v tem primeru se bo izvajal ta testni primer.
  • Četrti testni primer je označen na skupino strong_ties, kar pomeni, da se bo ta testni primer zagnal le, če bo XML posodobljen z imenom skupine strong_ties.
  • Zadnji, a ne najmanj peti testni primer je povezan z vezno skupino, kar pomeni, da se bo ta testni primer zagnal le, če bo XML posodobljen z imenom vezne skupine.

Torej imamo na splošno 4 scenarije;

  1. Zagnati želimo vse testne primere ne glede na ime skupine. V tem primeru bomo oznako Group odstranili iz zagnanega XML-a.
  1. Zagnati želimo nekaj testnih primerov, ki so povezani samo z eno od skupin, tj. Strong_ties ali bonding
  • Glejte:

  • V tem videoposnetku je parameter Group komentiran iz zagnanega XML. Tako boste videli, da so bili vsi testni primeri izvršeni.
  • Poleg video posnetka smo zdaj v skupino XML vključili ime skupine. Ogledate si lahko samo testne primere, ki se izvajajo samo za to skupino.
  1. Za izključitev testnega primera uporabljamo mehanizem Exclude:
  • Prosimo, glejte

  • Saj vidite, da smo uporabili za izključitev nekaj testnih primerov (tc02), tako da smo v XML zapisali njihovo ime. V končnem rezultatu omenjeni testni primeri niso delovali.
  1. Nazadnje za vključitev testnih primerov uporabljamo mehanizem za vključitev preizkusov (tc01LaunchURL, tc03EnterCredentials in tc05VerifyHyperlinks)
    • Prosimo, glejte

    • V tem videoposnetku boste videli, da se testni primeri, omenjeni v XML, izvajajo samo med izvajanjem testa.

    Prenesite kodo z omenjenega URL-ja, vsebovala bo vse vrste testXML:

    Prenesite zgornjo kodo

    Zaključek

    Tu smo se naučili razmeroma novega načina za izvajanje testnih primerov z uporabo XML v projektu Maven.

    Začeli smo s kratkim uvodom o testNG in nadaljevali s popolno tehnično specifikacijo skupin, izključimo in vključimo.