how use testng framework
V posledných niekoľkých tutoriáloch sme si posvietili na základné a bežne používané príkazy WebDriveru. Dozvedeli sme sa tiež o stratégiách lokalizácie prvkov používateľského rozhrania a ich začlenení do testovacích skriptov. A preto sme vyvinuli naše veľmi prvý testovací skript automatizácie WebDriver .
Ďalej v tomto výučbe by sme diskutovali o TestNG, jeho funkciách a aplikáciách.
TestNG je pokročilý rámec navrhnuté tak, aby využívali výhody vývojárov aj testerov. Pre ľudí, ktorí už JUnit používajú, by sa TestNG s niektorými pokročilými funkciami nezdal nijako iný. Začiatkom implementácie rámcov získal JUnit obrovský prínos popularita aplikácií Java, vývojárov Java a testerov Java, s pozoruhodným zvýšením kvality kódu.
Pozri tiež=> Výukový program JUnit a jeho použitie v selénových skriptoch
Napriek tomu, že je JUnit ľahko použiteľný a priamy, má svoje vlastné obmedzenia, ktoré vyvolávajú potrebu priniesť TestNG do obrazu. TestNG vytvoril uznávaný programátor s názvom „Cedric Beust“. TestNG je rámec otvoreného zdroja, ktorý je distribuovaný pod licenciou na softvér Apache a je ľahko dostupný na stiahnutie.
Keď hovoríme o našej požiadavke na zavedenie TestNG s WebDriverom, je to, že poskytuje efektívny a efektívny formát výsledku testu, ktorý je možné zdieľať so zainteresovanými stranami, aby sme mohli nahliadnuť do zdravia produktu / aplikácie, čím eliminujeme nevýhodu neschopnosti WebDriveru generovať protokoly o testoch. TestNG má zabudovaný mechanizmus spracovania výnimiek, ktorý umožňuje spustenie programu bez neočakávaného ukončenia.
TestNG aj JUnit patria do rovnakej rodiny Unit Frameworks, kde TestNG je rozšírená verzia pre JUnit a v súčasnej ére testovania sa čoraz viac používa.
Čo sa dozviete:
- Vlastnosti TestNG
- Inštalácia TestNG v Eclipse
- Vytvorenie vzorového projektu TestNG
- Vytvára sa trieda TestNG
- Vykonávanie skriptu TestNG
- Správy HTML
- Nastavenie priority v TestNG
- Návod na použitie kódu
- Anotácie TestNG
- Záver
- Odporúčané čítanie
Vlastnosti TestNG
- Podpora anotácií
- Podpora parametrizácie
- Pokročilá metodika vykonávania, ktorá nevyžaduje vytvorenie testovacích balíkov
- Podpora testovania na základe údajov pomocou poskytovateľov údajov
- Umožňuje používateľovi nastaviť priority vykonania testovacích metód
- Podporuje bezpečné prostredie pri spustení viacerých vlákien
- Ľahko podporuje integráciu s rôznymi nástrojmi a doplnkami, ako sú nástroje na vytváranie (Ant, Maven atď.), Integrované vývojové prostredie (Eclipse).
- Pomáha používateľom efektívnymi prostriedkami generovania prehľadov pomocou ReportNG
Existujú rôzne výhody, vďaka ktorým je TestNG lepší ako JUnit. Niektoré z nich sú:
- Predbežné a ľahké anotácie
- Je možné nastaviť vzory vykonávania
- Súbežné vykonávanie testovacích skriptov
- Je možné nastaviť závislosti testovacích prípadov
Pred testovacími poznámkami a v JUnit je pred znakmi „@“.
Teraz teda začnime s inštalačnou a implementačnou časťou.
Online mriežka pre automatizáciu testov selénu
# 1) LambdaTest
Rámec TestNG sa najlepšie využíva s cloudovým selenovým mriežkou, ako je LambdaTest, ktorý vám pomáha vykonávať paralelné testovanie na 2000+ skutočných prehliadačoch a operačných systémoch bez akýchkoľvek problémov s údržbou vlastnej selenovej mriežky.
Môžete získať rôzne protokoly, ako sú protokoly príkazov, sieťové protokoly, nespracované protokoly selénu, metadáta atď., Spolu s úplným videozáznamom testovacieho skriptu selénu na ladenie.
LambdaTest tiež ponúka integrácie s viacerými nástrojmi CI / CD, ako sú Jenkins, Travis CI, CircleCI, atď. Pre nepretržité testovanie. LambdaTest vám tiež umožňuje integráciu s mnohými nástrojmi na správu projektov na ľahké zaznamenávanie chýb.
=> Navštívte webovú stránku LambdaTestInštalácia TestNG v Eclipse
Postupujte podľa nasledujúcich krokov na stiahnutie a inštaláciu TestNG pri zatmení:
Krok 1: Spustite IDE zatmenia -> v ponuke kliknite na možnosť Pomocník -> v rozbaľovacej ponuke vyberte možnosť „Eclipse Marketplace ..“.
Krok 2: Do vyhľadávacieho textového poľa zadajte kľúčové slovo „TestNG“ a kliknite na tlačidlo „Prejsť“, ako je to znázornené nižšie.
Krok 3: Hneď ako používateľ klikne na tlačidlo „Prejsť“, zobrazia sa výsledky zodpovedajúce vyhľadávaciemu reťazcu. Teraz môže používateľ kliknutím na tlačidlo Inštalovať nainštalovať TestNG.
Krok 4: Hneď ako používateľ klikne na tlačidlo Inštalovať, zobrazí sa mu výzva s oknom na potvrdenie inštalácie. Kliknite na tlačidlo „Potvrdiť“.
Krok 5: V ďalšom kroku vás aplikácia vyzve na prijatie licencie a potom na tlačidlo „Dokončiť“.
Krok 6: Inštalácia je spustená teraz a priebeh je možné sledovať nasledovne:
Odporúča sa reštartovať naše zatmenie, aby sa zohľadnili vykonané zmeny.
Po reštarte môže používateľ overiť inštaláciu TestNG tak, že prejde na možnosť „Predvoľby“ v ponuke „Okno“ na paneli s ponukami. To isté nájdete na nasledujúcom obrázku.
(Kliknutím na obrázok ho zväčšíte)
Vytvorenie vzorového projektu TestNG
Začnime s vytvorením projektu TestNG v IDE zatmenia.
Krok 1: V ponuke kliknite na možnosť Súbor -> Kliknite na Nový -> Vybrať projekt Java.
Krok 2: Zadajte názov projektu ako „DemoTestNG“ a kliknite na tlačidlo „Ďalej“. Ako posledný krok kliknite na tlačidlo „Dokončiť“ a váš projekt Java je pripravený.
Krok 3: Ďalším krokom je konfigurácia knižnice TestNG do novovytvoreného projektu Java. Rovnakým spôsobom kliknite na kartu „Knižnice“ v časti Konfigurovať cestu zostavenia. Kliknite na „Pridať knižnicu“, ako je uvedené nižšie.
Krok 4: Používateľ by bol vystavený dialógovým oknom, ktoré ho vyzýva na výber knižnice, ktorá sa má konfigurovať. Vyberte TestNG a kliknite na tlačidlo „Ďalej“, ako je to znázornené nižšie na obrázku. Nakoniec kliknite na tlačidlo „Dokončiť“.
TestNG je teraz pridaný do projektu Java a požadované knižnice je možné vidieť v prehliadači balíkov po rozšírení projektu.
Pridajte všetky stiahnuté selénové knižnice a poháre do cesty zostavenia projektu, ako je to znázornené v predchádzajúcom návode.
Vytvára sa trieda TestNG
Teraz, keď sme vykonali všetky základné nastavenia, aby sme mohli začať s vytváraním testovacieho skriptu pomocou TestNG. Vytvorme si ukážkový skript pomocou TestNG.
Krok 1: Rozbaľte projekt „DemoTestNG“ a prejdite do priečinka „src“. Pravým tlačidlom myši kliknite na balík „src“ a prejdite na Nové -> Iné.
Krok 2: Rozbaľte možnosť TestNG a vyberte možnosť triedy „TestNG“ a kliknite na tlačidlo „Ďalej“.
Krok 3: Poskytnite požadované podrobnosti nasledovne. Zadajte priečinok Zdroj, názov balíka a názov triedy TestNG a kliknite na tlačidlo Dokončiť. Ako je zrejmé z nižšie uvedeného obrázka, používateľ môže skontrolovať aj rôzne notácie TestNG, ktoré by sa prejavili v schéme testovacej triedy. O anotáciách TestNG sa bude diskutovať neskôr v tejto relácii.
Vyššie uvedená trieda TestNG by bola vytvorená s predvolenou schémou.
Teraz, keď sme vytvorili základ pre testovací skript TestNG, vložme teraz skutočný testovací kód. Používame rovnaký kód, aký sme použili v predchádzajúcej relácii.
Scenár:
- Spustite prehliadač a otvorte „gmail.com“.
- Overte názov stránky a vytlačte výsledok overenia.
- Zadajte užívateľské meno a heslo.
- Kliknite na tlačidlo Prihlásiť sa.
- Zatvorte webový prehliadač.
Zákonníka:
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(); } }
Vysvetlenie kódu vzhľadom na TestNG
1) @Test - @Test je jedným z Anotácie TestNG . Táto anotácia umožňuje spusteniu programu vedieť, že metóda komentovaná ako @Test je testovacia metóda. Aby sme mohli používať rôzne anotácie TestNG, musíme importovať balík “ dovoz org.testng.annotations. * “.
dva) Pri vytváraní testovacích skriptov pomocou TestNG nie je potrebná metóda main (). Vykonávanie programu sa vykonáva na základe anotácií.
3) Vo vyhlásení sme použili triedu Assert pri porovnaní očakávanej a skutočnej hodnoty. Trieda Assert sa používa na vykonávanie rôznych overovaní. Aby sme mohli použiť rôzne tvrdenia, je potrebné importovať „ dovoz org.testng.Assert ”.
Vykonávanie skriptu TestNG
Testovací skript TestNG je možné vykonať nasledujúcim spôsobom:
=> Kliknite pravým tlačidlom myši kdekoľvek vo vnútri triedy v editore alebo v triede Java v prehľadávači balíkov, vyberte možnosť „Spustiť ako“ a kliknite na „TestNG Test“.
Výsledok TestNG sa zobrazí do dvoch okien:
- Okno konzoly
- Okno s výsledkami TestNG
Okná s výsledkami nájdete na nasledujúcich obrazovkách:
aký je môj bezpečnostný kľúč wifi
(Kliknutím na obrázok ho zväčšíte)
Správy HTML
TestNG prichádza s vynikajúcou schopnosťou generovať pre čitateľov a čitateľov zrozumiteľné správy HTML o vykonaní testu. Tieto správy je možné zobraziť v ktoromkoľvek z prehľadávačov a tiež ich možno zobraziť pomocou podpory zabudovaných prehľadávačov Eclipse.
Ak chcete vygenerovať prehľad HTML, postupujte takto:
Krok 1: Vykonajte novo vytvorenú triedu TestNG. Obnovte projekt obsahujúci triedu TestNG kliknutím pravým tlačidlom myši na ňu a výberom možnosti „Obnoviť“.
Krok 2: Priečinok s názvom „test-výstup“ sa v projekte vygeneruje na úrovni priečinka „src“. Rozbaľte priečinok „test-output“ a otvorte ho v súbore „emailable-report.html“ pomocou prehliadača Eclipse. Súbor HTML zobrazuje výsledok nedávneho spustenia.
Krok 3: Správa HTML sa otvorí v prostredí zatmenia. To isté nájdete na nasledujúcom obrázku.
Obnovte stránku a zobrazte výsledky nových vykonaní, ak existujú.
Nastavenie priority v TestNG
Úryvok kódu
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() { } }
Návod na použitie kódu
Ak je testovací skript zložený z viac ako jednej testovacej metódy, prioritu a postupnosť vykonávania je možné nastaviť pomocou anotácie TestNG „@Test“ a nastavením hodnoty pre parameter „priorita“.
Vo vyššie uvedenom útržku kódu sú všetky metódy anotované pomocou pomocníka @Test a priority sú nastavené na 0, 1 a 2. Teda poradie vykonávania, v ktorom by sa testovacie metódy vykonávali, je:
- Metóda 1
- Metóda 2
- Metóda 3
Podpora anotácií
TestNG a JUnit poskytuje množstvo anotácií. Jemný rozdiel je v tom, že TestNG poskytuje JUnitu niektoré ďalšie anotácie.
Anotácie TestNG
Nasleduje zoznam najužitočnejších a najpriaznivejších anotácií v TestNG:
Anotácia | Popis |
---|---|
@Po hodine | Anotácia upozorní systém, že metóda komentovaná ako @AfterClass musí byť vykonaná po vykonaní poslednej testovacej metódy v tej istej testovacej triede |
@Test | Anotácia oznamuje systému, že metóda komentovaná ako @Test je testovacou metódou |
@BeforeSuite | Anotácia upozorní systém, že metóda vykonaná s poznámkami ako @BeforeSuite musí byť vykonaná pred vykonaním testov v celom balíku |
@AfterSuite | Anotácia upozorní systém, že metóda komentovaná ako @AfterSuite musí byť vykonaná po vykonaní testov v celom balíku |
@BeforeTest | Anotácia upozorní systém, že metóda komentovaná ako @BeforeTest musí byť vykonaná pred vykonaním akejkoľvek testovacej metódy v rámci rovnakej testovacej triedy |
@ AfterTest | Anotácia oznamuje systému, že metóda komentovaná ako @AfterTest musí byť vykonaná po vykonaní akejkoľvek testovacej metódy v rámci rovnakej testovacej triedy |
@BeforeClass | Anotácia upozorní systém, že metóda komentovaná ako @BeforeClass musí byť vykonaná pred vykonaním prvej testovacej metódy v rámci rovnakej testovacej triedy |
@BeforeMethod | Anotácia oznamuje systému, že metóda komentovaná ako @BeforeMethod musí byť vykonaná pred vykonaním akejkoľvek testovacej metódy v rámci tej istej testovacej triedy. |
@AfterMethod | Anotácia upozorní systém, že metóda komentovaná ako @AfterMethod musí byť vykonaná po vykonaní každej testovacej metódy v rámci tej istej testovacej triedy. |
@BeforeGroups | Anotácia oznamuje systému, že metóda komentovaná ako @BeforeGroups je konfiguračná metóda, ktorá obsahuje skupinu a ktorá sa musí vykonať pred vykonaním prvej testovacej metódy skupiny |
@AfterGroups | Anotácia oznamuje systému, že metóda komentovaná ako @AfterGroups je konfiguračná metóda, ktorá obsahuje skupinu a ktorú je potrebné vykonať po vykonaní poslednej testovacej metódy skupiny |
Poznámka : Mnohé z vyššie uvedených anotácií je možné uplatniť aj v rámci JUnit 3 a JUnit 4.
Záver
Prostredníctvom tohto tutoriálu sme sa pokúsili zoznámiť vás s testovacím rámcom založeným na jave s názvom TestNG. Reláciu sme začali inštaláciou frameworku a presunuli sme sa k tvorbe skriptov a pokročilým témam. Diskutovali sme o všetkých anotáciách poskytnutých TestNG. Náš prvý testovací skript TestNG sme implementovali a vykonali pomocou anotácií a tvrdení.
Zhrnutie článku:
- TestNG je pokročilý rámec navrhnutý tak, aby využil výhody vývojárov aj testerov.
- TestNG je rámec otvoreného zdroja, ktorý je distribuovaný pod licenciou na softvér Apache a je ľahko dostupný na stiahnutie.
- TestNG je považovaný za nadradený JUnit kvôli jeho pokrokovým vlastnostiam.
- Vlastnosti TestNG
- Podpora anotácií
- Pokročilá metodika vykonávania, ktorá nevyžaduje vytvorenie testovacích balíkov
- Podpora parametrizácie
- Podpora testovania na základe údajov pomocou poskytovateľov údajov
- Stanovenie priorít vykonávania testovacích metód
- Podporuje bezpečné prostredie pri spustení viacerých vlákien
- Ľahko podporuje integráciu s rôznymi nástrojmi a doplnkami, ako sú nástroje na vytváranie (Ant, Maven atď.), Integrované vývojové prostredie (Eclipse).
- Pomáha používateľom efektívnymi prostriedkami generovania prehľadov pomocou ReportNG
- Výhody TestNG oproti JUnit
- Pridané pokročilé a ľahké anotácie
- Je možné nastaviť vzory vykonávania
- Súbežné vykonávanie testovacích skriptov
- Je možné nastaviť závislosti testovacích prípadov
- TestNG je voľne dostupný a dá sa ľahko nainštalovať do Eclipse IDE pomocou Eclipse Market.
- Po inštalácii bude TestNG k dispozícii ako knižnica v prostredí Eclipse.
- Vytvorte nový projekt Java a nakonfigurujte cestu zostavenia pomocou knižnice TestNG.
- Vytvorte novú triedu TestNG rozšírením vytvoreného projektu TestNG a prejdite do priečinka „src“. Pravým tlačidlom myši kliknite na balík „src“ a prejdite na Nové -> Iné. Vyberte možnosť triedy TestNG.
- @Test je jednou z anotácií poskytnutých TestNG. Táto anotácia umožňuje spusteniu programu vedieť, že metóda komentovaná ako @Test je testovacia metóda. Aby sme mohli používať rôzne anotácie TestNG, musíme importovať balík “ dovoz org.testng.annotations. * “.
- Pri vytváraní testovacích skriptov pomocou TestNG nie je potrebná metóda main ().
- Pri porovnávaní očakávanej a skutočnej hodnoty používame triedu Assert. Trieda Assert sa používa na vykonávanie rôznych overovaní. Aby sme mohli použiť rôzne tvrdenia, je potrebné importovať „ dovoz org.testng.Assert ”.
- Ak je testovací skript zložený z viac ako jednej testovacej metódy, prioritu a postupnosť vykonávania je možné nastaviť pomocou anotácie TestNG „@Test“ a nastavením hodnoty pre parameter „priorita“.
- TestNG má schopnosť automaticky generovať správy o vykonaní testu čitateľné človekom. Tieto správy je možné zobraziť v ktoromkoľvek z prehľadávačov a tiež ich možno zobraziť pomocou zabudovanej podpory prehliadača Eclipse.
Nasledujúci tutoriál # 13 : Pokračujúc v pripravovaných návodoch zo série Selenium, sústredili by sme sa na prácu s rôznymi typmi webových prvkov dostupných na webových stránkach. Preto v ďalšom návode by sme sa zamerali na „rozbaľovacie ponuky“ a precvičili by sme ich manipulačné stratégie. Diskutovali by sme tiež o triede Select WebDriver’s a jej metódach výberu hodnôt v rozbaľovacích ponukách.
Poznámka pre čitateľov : Zatiaľ čo náš ďalší výukový program série Selenium je v režime spracovania, čitatelia môžu začať vytvárať vlastné základné skripty WebDriver pomocou rámca TestNG.
Pre ďalšie skripty a koncepty zahrňte do svojich tried TestNG toľko anotácií a tvrdení a vykonajte ich pomocou prostredia TestNG. Analyzujte tiež správy HTML generované serverom TestNG.
Odporúčané čítanie
- Ako používať Firebug na vytváranie skriptov selénu - selén - návod č. 4
- Úvod do rámca JUnit a jeho použitie v selénovom skripte - selén výučba # 11
- Naučte sa, ako používať poznámky TestNG v seléne (s príkladmi)
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Ako nájsť prvky v prehliadačoch Chrome a IE na vytváranie skriptov selénu - selénový tutoriál # 7
- Vytváranie rámca selénu a prístup k testovacím údajom z Excelu - Výučba selénu č. 21
- Vytváranie generík a testovacích súprav - selén, návod č. 22
- Hĺbkové návody pre zatmenie pre začiatočníkov