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
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
- 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.
xml version = "1.0" encoding = "UTF-8"?>
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čitevVključ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:
- Zaženite http://www.demo.guru99.com
- V polje vnesite svoj e-poštni ID.
- 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;
- Zagnati želimo vse testne primere ne glede na ime skupine. V tem primeru bomo oznako Group odstranili iz zagnanega XML-a.
- 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.
- 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.
- 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.