how use testng framework
V zadnjih nekaj vajah smo osvetlili osnovne in pogosto uporabljene ukaze WebDriver. Spoznali smo tudi strategije lociranja elementov uporabniškega vmesnika in njihovo vključitev v testne skripte. In zato smo svoje zelo razvili prvi testni skript za avtomatizacijo WebDriver .
V nadaljevanju te vadnice bi razpravljali o TestNG, njegovih lastnostih in aplikacijah.
TestNG je vnaprejšnji okvir zasnovan tako, da izkoristi prednosti tako razvijalcev kot preizkuševalcev. Za ljudi, ki že uporabljajo JUnit, se TestNG z nekaterimi naprednimi funkcijami ne zdi nič drugačen. Z začetkom okvirjev je JUnit ogromno pridobil priljubljenost v aplikacijah Java, razvijalcih Java in preizkuševalcih Java, z izjemno povečanjem kakovosti kode.
Poglej tudi=> Vadnica za JUnit in njegova uporaba v skriptih Selenium
Kljub temu, da je JUnit enostaven za uporabo in neposreden okvir, ima svoje omejitve, zaradi katerih je treba prinašati TestNG v sliko. TestNG je ustvaril priznani programer, imenovan 'Cedric Beust'. TestNG je odprtokodni okvir, ki se distribuira pod licenco programske opreme Apache in je na voljo za prenos.
Ko govorimo o naši zahtevi po uvedbi TestNG z WebDriver, je ta, da zagotavlja učinkovito in uspešno obliko rezultatov preskusov, ki jo lahko nato delimo z zainteresiranimi stranmi, da si ogledamo zdravje izdelka / aplikacije in s tem odpravimo pomanjkljivost, da WebDriver ne zmore ustvariti poročila o preskusih. TestNG ima vgrajen mehanizem za obdelavo izjem, ki omogoča zagon programa, ne da bi se nepričakovano končal.
Oba TestNG in JUnit pripadata isti družini Unit Frameworks, kjer je TestNG razširjena različica JUnit in se v sedanji preizkusni dobi bolj pogosto uporablja.
Kaj se boste naučili:
- Značilnosti TestNG
- Namestitev TestNG v Eclipse
- Ustvarjanje vzorčnega projekta TestNG
- Ustvarjanje razreda TestNG
- Izvajanje skripta TestNG
- Poročila HTML
- Nastavitev prioritete v TestNG
- Sprehod po kodi
- Pripisi TestNG
- Zaključek
- Priporočeno branje
Značilnosti TestNG
- Podpora za opombe
- Podpora za parametriranje
- Vnaprejšnja metodologija izvajanja, ki ne zahteva izdelave testnih paketov
- Podpora za podatkovno preizkušanje z uporabo ponudnikov podatkov
- Uporabniku omogoča, da nastavi preskusne prioritete izvajanja
- Podpira nevarno varno okolje pri izvajanju več niti
- Zlahka podpira integracijo z različnimi orodji in vtičniki, kot so gradbena orodja (Ant, Maven itd.), Integrirano razvojno okolje (Eclipse).
- Uporabniku olajša učinkovite načine ustvarjanja poročil z uporabo ReportNG
Obstajajo različne prednosti, zaradi katerih je TestNG boljši od JUnit-a. Nekateri med njimi so:
- Predhodne in enostavne opombe
- Nastavite lahko vzorce izvrševanja
- Sočasno izvajanje testnih skriptov
- Nastavite lahko odvisnosti testnih primerov
Pred pripisi je v TestNG in JUnit simbol '@'.
Zdaj pa začnimo z delom za namestitev in izvedbo.
Spletna mreža za avtomatizacijo preizkusov selena
# 1) LambdaTest

Okvir TestNG je najbolje uporabiti v oblaku Selenium Grid, kot je LambdaTest, ki vam pomaga izvajati vzporedno testiranje na 2000+ resničnih brskalnikih in operacijskih sistemih, brez kakršnih koli težav pri vzdrževanju lastne mreže Selenium Grid.
Na voljo so različni dnevniki, kot so dnevniki ukazov, dnevniki omrežja, neobdelani dnevniki Selenium, metapodatki itd., Skupaj s popolnim video posnetkom testnega skripta Selenium za odpravljanje napak.
LambdaTest ponuja tudi integracije z več orodji CI / CD, kot so Jenkins, Travis CI, CircleCI itd., Za neprekinjeno testiranje. LambdaTest vam omogoča tudi integracijo s številnimi orodji za upravljanje projektov za enostavno beleženje napak.
=> Obiščite spletno mesto LambdaTestNamestitev TestNG v Eclipse
Sledite spodnjim korakom za TestNG Prenos in namestitev na eclipse:
Korak 1: Zaženite eclipse IDE -> v meniju kliknite možnost Pomoč -> v spustnem meniju izberite možnost »Eclipse Marketplace ..«.

2. korak: V besedilno polje za iskanje vnesite ključno besedo 'TestNG' in kliknite gumb 'Pojdi', kot je prikazano spodaj.

3. korak: Takoj, ko uporabnik klikne gumb »Pojdi«, se prikažejo rezultati, ki se ujemajo z iskalnim nizom. Zdaj lahko uporabnik klikne gumb Namesti, da namesti TestNG.

4. korak: Takoj, ko uporabnik klikne gumb Namesti, se prikaže okno za potrditev namestitve. Kliknite gumb »Potrdi«.

5. korak: V naslednjem koraku vas bo aplikacija pozvala, da sprejmete licenco in nato kliknete gumb »Dokončaj«.
6. korak: Namestitev se začne zdaj, napredek pa je viden na naslednji način:

Svetujemo vam, da znova zaženemo mrk, da bomo odražali opravljene spremembe.
Po ponovnem zagonu lahko uporabnik preveri namestitev TestNG tako, da se v menijski vrstici pomakne do možnosti »Preferences« v meniju »Window«. Za isto glejte naslednjo sliko.

(Kliknite na sliko za ogled povečave)

Ustvarjanje vzorčnega projekta TestNG
Začnimo z ustvarjanjem projekta TestNG v eclipse IDE.
Korak 1: V meniju kliknite možnost Datoteka -> Kliknite Novo -> Izberite Java Project.

2. korak: Vnesite ime projekta kot »DemoTestNG« in kliknite gumb »Naprej«. Kot zaključni korak kliknite gumb »Končaj« in vaš projekt Java je pripravljen.

3. korak: Naslednji korak je konfiguriranje knjižnice TestNG v novo ustvarjeni projekt Java. Za isto kliknite na jeziček »Knjižnice« v razdelku Konfiguriranje poti gradnje. Kliknite 'Dodaj knjižnico', kot je prikazano spodaj.

4. korak: Uporabnik bi moral imeti pogovorno okno, ki ga spodbuja, da izbere knjižnico, ki jo je treba konfigurirati. Izberite TestNG in kliknite gumb 'Naprej', kot je prikazano spodaj na sliki. Na koncu kliknite gumb 'Finish'.

Zdaj je TestNG dodan projektu Java in zahtevane knjižnice si lahko ogledate v raziskovalcu paketov ob razširitvi projekta.

Dodajte vse prenesene knjižnice in kozarce Selenium v pot gradnje projekta, kot je prikazano v prejšnji vadnici.
Ustvarjanje razreda TestNG
Zdaj, ko smo izvedli vse osnovne nastavitve za začetek ustvarjanja preizkusnega skripta s pomočjo TestNG. Ustvarimo vzorčni skript z uporabo TestNG.
Korak 1: Razširite projekt 'DemoTestNG' in se pomaknite na mapo 'src'. Z desno miškino tipko kliknite paket “src” in se pomaknite na Novo -> Drugo.

2. korak: Razširite možnost TestNG in izberite možnost razreda »TestNG« in kliknite gumb »Naprej«.

3. korak: Poskrbite za potrebne podrobnosti, kot sledi. Navedite mapo Source, ime paketa in ime razreda TestNG ter kliknite gumb Finish. Kot je razvidno iz spodnje slike, lahko uporabnik preveri tudi različne zapise TestNG, ki bi se odražali v shemi testnega razreda. O pripisih TestNG bomo razpravljali kasneje v tej seji.

Zgoraj omenjeni razred TestNG bi bil ustvarjen s privzeto shemo.

Zdaj, ko smo ustvarili osnovno osnovo za testni skript TestNG, si zdaj vbrizgamo dejansko testno kodo. Uporabljamo isto kodo kot v prejšnji seji.
Scenarij:
- Zaženite brskalnik in odprite »gmail.com«.
- Preverite naslov strani in natisnite rezultat preverjanja.
- Vnesite uporabniško ime in geslo.
- Kliknite gumb Prijava.
- Zaprite spletni brskalnik.
Koda:
package TestNG; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.Test; public class DemoTestNG { public WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; @Test public void gmailLogin() { // launch the firefox browser and open the application url driver.get('https://gmail.com'); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); Assert.assertEquals(expectedTitle,actualTitle); // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); } } Razlaga kode v zvezi s testNG
1) @Test - @Test je eden izmed Pripisi TestNG . Ta pripis omogoča izvedbi programa, da ve, da je metoda, označena z @Test, preskusna metoda. Da bomo lahko uporabljali različne pripise TestNG, moramo uvoziti paket “ uvoz org.testng.annotations. * '.
dva) Med ustvarjanjem preizkusnih skriptov z uporabo TestNG ni potrebna metoda main (). Izvajanje programa se izvaja na podlagi pripisov.
3) V izjavi smo za primerjavo pričakovane in dejanske vrednosti uporabili razred Assert. Razred Assert se uporablja za izvajanje različnih preverjanj. Da bi lahko uporabili različne trditve, moramo uvoziti “ uvoz org.testng.Assert '.
Izvajanje skripta TestNG
Testni skript TestNG lahko izvedemo na naslednji način:
=> Z desno miškino tipko kliknite kjer koli znotraj razreda znotraj urejevalnika ali razreda Java v raziskovalcu paketov, izberite možnost »Zaženi kot« in kliknite »TestNG Test«.

Rezultat TestNG se prikaže v dveh oknih:
- Okno konzole
- Okno z rezultatom TestNG
Za okna z rezultati glejte spodnje zaslone:

razlika med agilnim in slapovskim preskušanjem
(Kliknite na sliko za ogled povečave)

Poročila HTML
TestNG ima veliko zmožnost generiranja uporabniku berljivih in razumljivih poročil HTML za izvedbe preizkusov. Ta poročila si lahko ogledate v katerem koli brskalniku, ogledate pa si jih lahko tudi s pomočjo Eclipseove vgradne podpore za brskalnike.
Če želite ustvariti poročilo HTML, sledite spodnjim korakom:
Korak 1: Izvedite novo ustvarjeni razred TestNG. Osvežite projekt, ki vsebuje razred TestNG, tako da ga kliknete z desno miškino tipko in izberete možnost »Osveži«.
2. korak: Mapa, imenovana 'test-output', se v projektu ustvari na ravni mape 'src'. Razširite mapo »test-output« in odprite datoteko »emailable-report.html« z brskalnikom Eclipse. Datoteka HTML prikazuje rezultat nedavne izvedbe.


3. korak: Poročilo HTML se odpre v okolju eclipse. Glejte spodnjo sliko za isto.

Osvežite stran, da si ogledate rezultate za morebitne nove izvedbe.
Nastavitev prioritete v TestNG
Delček kode
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } } Sprehod po kodi
Če je preskusni skript sestavljen iz več kot ene preskusne metode, lahko prednost in zaporedje izvajanja nastavite s pripisom TestNG “@Test” in z nastavitvijo vrednosti za parameter “priority”.
V zgornjem delčku kode so vse metode označene s pomočjo @Test in prednostne naloge so nastavljene na 0, 1 in 2. Tako je vrstni red izvajanja, v katerem bi se izvajale testne metode:
- Metoda1
- Metoda2
- Metoda3
Podpora za opombe
V TestNG in JUnit je na voljo več pripisov. Prefinjena razlika je v tem, da TestNG JUnit-u ponuja še nekaj vnaprejšnjih pripisov.
Pripisi TestNG
Sledi seznam najbolj uporabnih in najugodnejših pripisov v TestNG:
| Pripis | Opis |
|---|---|
| @Po pouku | Pripis sistem obvesti, da je treba metodo, označeno kot @AfterClass, izvesti po izvedbi zadnje preskusne metode v istem preskusnem razredu |
| @Test | Pripis sistem obvesti, da je metoda, označena kot @Test, preskusna metoda |
| @BeforeSuite | Pripis sistem obvesti, da mora biti metoda, označena kot @BeforeSuite, izvedena pred izvajanjem testov v celotnem paketu. |
| @AfterSuite | Pripis sistem obvesti, da je treba metodo, označeno kot @AfterSuite, izvesti po izvedbi preskusov v celotnem paketu |
| @BeforeTest | Pripis sistem obvesti, da mora biti metoda, označena kot @BeforeTest, izvedena pred izvajanjem katere koli preskusne metode v istem preskusnem razredu |
| @AfterTest | Pripis sistem obvesti, da mora biti metoda, označena kot @AfterTest, izvedena po izvedbi katere koli preskusne metode v istem preskusnem razredu |
| @BeforeClass | Pripis sistem obvesti, da mora biti metoda, označena kot @BeforeClass, izvedena pred izvajanjem prve preskusne metode v istem preskusnem razredu |
| @BeforeMethod | Pripis sistem obvesti, da je treba pred izvajanjem katere koli preskusne metode v istem preizkusnem razredu izvesti metodo, označeno kot @BeforeMethod. |
| @AfterMethod | Pripis sistem obvesti, da je treba metodo, označeno z @AfterMethod, zagnati po izvedbi katere koli preskusne metode v istem preskusnem razredu |
| @BeforeGroups | Pripis sistem obvesti, da je metoda, označena z @BeforeGroups, konfiguracijska metoda, ki navaja skupino in jo je treba izvesti pred izvajanjem prve preskusne metode skupine |
| @AfterGroups | Pripis sistem obvesti, da je metoda, označena kot @AfterGroups, konfiguracijska metoda, ki navaja skupino in jo je treba izvesti po izvedbi zadnje preskusne metode skupine |
Opomba : Veliko zgoraj omenjenih pripisov je mogoče izvajati tudi v okviru JUnit 3 in JUnit 4.
Zaključek
S pomočjo te vadnice smo vas poskušali seznaniti z okvirom za testiranje na osnovi jave, imenovanim TestNG. Sejo smo začeli z namestitvijo ogrodja in nadaljevali z ustvarjanjem skriptov in temami vnaprej. Razpravljali smo o vseh pripisih, ki jih ponuja TestNG. Naš prvi testni skript TestNG smo izvedli in izvedli z uporabo pripisov in trditev.
Povzetek članka:
- TestNG je vnaprejšnji okvir, zasnovan tako, da izkoristi prednosti tako razvijalcev kot preizkuševalcev.
- TestNG je odprtokodni okvir, ki se distribuira pod licenco programske opreme Apache in je na voljo za prenos.
- TestNG velja za boljšega od JUnit-a zaradi svojih naprednih lastnosti.
- Značilnosti TestNG
- Podpora za opombe
- Vnaprejšnja metodologija izvajanja, ki ne zahteva izdelave testnih paketov
- Podpora za parametriranje
- Podpora za podatkovno preizkušanje z uporabo ponudnikov podatkov
- Določanje prednostnih nalog za izvajanje preskusnih metod
- Podpira nevarno varno okolje pri izvajanju več niti
- Zlahka podpira integracijo z različnimi orodji in vtičniki, kot so gradbena orodja (Ant, Maven itd.), Integrirano razvojno okolje (Eclipse).
- Uporabniku olajša učinkovite načine ustvarjanja poročil z uporabo ReportNG
- Prednosti TestNG pred JUnit
- Dodani vnaprejšnji in enostavni komentarji
- Nastavite lahko vzorce izvrševanja
- Sočasno izvajanje testnih skriptov
- Nastavite lahko odvisnosti testnih primerov
- TestNG je prosto dostopen in ga je mogoče enostavno namestiti v IDE Eclipse z uporabo Eclipse Market.
- Po namestitvi bi bil TestNG na voljo kot knjižnica v okolju Eclipse.
- Ustvarite nov projekt Java in konfigurirajte pot gradnje s pomočjo knjižnice TestNG.
- Ustvarite nov razred TestNG, tako da razširite ustvarjeni projekt TestNG in se pomaknete do mape »src«. Z desno miškino tipko kliknite paket “src” in se pomaknite na Novo -> Drugo. Izberite možnost razreda TestNG.
- @Test je eden od pripisov, ki ga ponuja TestNG. Ta pripis omogoča izvedbi programa, da ve, da je metoda, označena z @Test, preskusna metoda. Da bomo lahko uporabljali različne pripise TestNG, moramo uvoziti paket “ uvoz org.testng.annotations. * '.
- Med ustvarjanjem preizkusnih skriptov z uporabo TestNG ni potrebna metoda main ().
- Za primerjavo pričakovane in dejanske vrednosti uporabljamo razred Assert. Razred Assert se uporablja za izvajanje različnih preverjanj. Da bi lahko uporabili različne trditve, moramo uvoziti “ uvoz org.testng.Assert '.
- Če je preskusni skript sestavljen iz več kot ene preskusne metode, je mogoče prednost izvajanja in zaporedje nastaviti s pripisom TestNG “@Test” in z nastavitvijo vrednosti za parameter “priority”.
- TestNG ima zmožnost samodejnega ustvarjanja berljivih poročil o izvajanju preizkusov. Ta poročila si lahko ogledate v katerem koli brskalniku, ogledate pa si jih lahko tudi z vgrajeno podporo za brskalnik Eclipse.
Naslednja vadnica št : V nadaljevanju prihajajočih vadnic iz serije Selenium bi se osredotočili na ravnanje z različnimi vrstami spletnih elementov, ki so na voljo na spletnih straneh. Zato v naslednji vadnici bi se osredotočili na 'spustne menije' in izvajali njihove strategije ravnanja. Prav tako bi razpravljali o razredu Select WebDriver in njegovih metodah za izbiro vrednosti v spustnih menijih.
Opomba za bralce : Medtem ko je naša naslednja vadnica serije Selenium v načinu obdelave, lahko bralci začnejo ustvarjati lastne osnovne skripte WebDriver z uporabo okvira TestNG.
Za več vnaprejšnjih skriptov in konceptov v razrede TestNG vključite čim več opomb in trditev in jih izvedite v okolju TestNG. Analizirajte tudi poročila HTML, ki jih je ustvaril TestNG.
Priporočeno branje
- Kako uporabiti Firebug za ustvarjanje skriptov za selen - Vadnica za selen št. 4
- Uvod v JUnit Framework in njegovo uporabo v scenariju selena - Vadnica za selen # 11
- Naučite se uporabljati pripombe TestNG v selenu (s primeri)
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver
- Kako poiskati elemente v brskalnikih Chrome in IE za izdelavo skriptov za selen - Vadnica za selen št. 7
- Ustvarjanje okvirja selena in dostop do testnih podatkov iz Excela - Vadnica za selenij št. 21
- Ustvarjanje generičnih izdelkov in testnih kompletov - Vadnica za selen št. 22
- Vadnice za globinsko zasenčenje za začetnike