Všetko, čo potrebujete vedieť o anotáciách TestNG v seléne



Tento článok o anotáciách TestNG v seléne vám pomocou príkladov pomôže pochopiť rôzne anotácie, ktoré TestNG v seléne podporuje.

Od tej doby koncept bolo vyvinutých veľa metodík testovania, paradigmy sa zmenili, ale požiadavky akosi zvíťazili, aby zostali konštantné. Jednou z takýchto metodík je TestNG čo nám pomáha zoskupiť testovacie prípady do rôznych častí kódu pomocou anotácií. Ako to však funguje? Pochopme tento koncept prostredníctvom tohto článku o anotáciách TestNG v .

Nižšie uvedeným témam sa budem venovať v tomto článku:





Úvod do TestNG

TestNG znamenať Vyskúšajte ďalšiu generáciu a je to rámec automatizácie testov otvoreného zdroja inšpirovaný programami JUnit a NUnit. No, TestNG nie je len inšpirovaný, ale je to inovovaná verzia týchto dvoch rámcov. Aká je tu teda aktualizácia? Inovácia pomocou TestNG spočíva v tom, že poskytuje ďalšie funkcie, ako sú poznámky k testu, zoskupovanie, stanovovanie priorít, parametrizácia a postupnosť v kóde, čo predtým nebolo možné.

Úvod do TestNG - Anotácie TestNG - EdurekaNielenže spravuje testovacie prípady, ale aj podrobné správy o testoch je možné získať pomocou TestNG. K dispozícii bude podrobné zhrnutie, ktoré zobrazí počet testovacích prípadov, ktoré zlyhali. Ploštice možno tiež lokalizovať presne a najskôr ich opraviť. Teraz, keď viete, čo je TestNG, pozrime sa, prečo používať TestNG v seléne.



Prečo používať TestNG v seléne?

Vývojári softvéru z celého sveta jednomyseľne súhlasia s tým, že písanie kódu v testovacích prípadoch im ušetrí značnú časť času na ladenie. Prečo? Je to tak preto, lebo testovacie prípady pomáhajú pri vytváraní robustného a bezchybného kódu rozbitím celého kódu na menšie testovacie prípady a následným vyhodnotením každého z týchto testovacích prípadov, aby vyhovel / nevyhovel podmienkam, môžete vytvoriť bezchybný kód. Odkedy nepodporuje vykonávanie kódu v testovacích prípadoch, na rad prichádza TestNG, ktorý pomôže pri vykonávaní testovacích prípadov.

TestNG podporuje aj nasledujúce funkcie:

  • Generuje správu v správnom formáte, ktorý obsahuje počet vykonaných testovacích prípadov, počet neúspešných testovacích prípadov a preskočené testovacie prípady.
  • Viaceré testovacie prípady je možné ľahšie zoskupiť prevedením do súboru TestNG.xml. Tu môžete nastaviť priority vykonania testovacích prípadov.
  • Pomocou TestNG môžete vykonať viac testovacích prípadov na viacerých prehliadačoch, t. J. cross-browser testovanie .
  • Testovací rámec je možné ľahko integrovať do nástrojov ako Maven, Jenkins atď.

Teraz, keď viete, čo je TestNG a prečo sa používa, poďme ďalej a poznajte rôzne anotácie, ktoré TestNG v seléne podporuje.

Anotácie TestNG

Anotácie TestNG v seléne sa používajú na riadenie ďalšej metódy, ktorá sa má vykonať. Anotácie testu sú definované pred každou metódou v testovacom kóde. V prípade, že žiadna metóda nemá predponu s anotáciami, bude táto metóda ignorovaná a nebude vykonaná ako súčasť testovacieho kódu. Na ich definovanie je potrebné metódy jednoducho anotovať „ @Test „.



Typy anotácií TestNG:

Nižšie je uvedený zoznam anotácií, ktoré TestNG podporuje v seléne.

čo je obstarávanie v projektovom manažmente
  • @BeforeMethod: Metóda s touto anotáciou sa vykoná pred každou @test komentovaná metóda.
  • @ AfterMethod: Toto anotácia bude vykonaná po každom @test komentovaná metóda.
  • @BeforeClass: Táto anotácia bude vykonaná skôr prvý @Test vykonanie metódy. Beží iba raz na hodinu.
  • @AfterClass: T jeho anotácia sa vykoná po spustení všetkých testovacích metód v aktuálnej triede
  • @BeforeTest: Metóda s touto anotáciou bude vykonaná skôr prvý @Test komentovaná metóda.
  • @AfterTest: Metóda s touto anotáciou sa vykoná, keď všetky @Test anotované metódy dokončujú vykonávanie tých tried, v ktorých je insidetag TestNG.xml spis.
  • @BeforeSuite: Táto anotácia bude spustená iba raz predtým všetky testy v suite prebehli
  • @AfterSuite: Spustí sa metóda s touto anotáciou raz po boli spustené všetky testy v balíku
  • @BeforeGroups: Táto anotovaná metóda bude fungovať pred prvou skúšobnou prevádzkou tejto konkrétnej skupiny.
  • @AfterGroups: Táto anotovaná metóda bude fungovať po všetkých testovacích metódach tejto skupiny dokončí svoju realizáciu.

Takže toto je všetko o anotáciách v TestNG. Poďme teraz ďalej a pochopme, ako napísať prvý testovací prípad pomocou TestNG.

Vytváranie testovacích prípadov pomocou anotácií TestNG

Pri vytváraní testovacích prípadov pomocou anotácie TestNG sú zahrnuté nasledujúce kroky:

  1. Vytvorte projekt a pridajte knižnicu TestNG.
  2. Vytvorte súbor triedy a program kódujte
  3. Nakoniec napíšte súbor XML a vykonajte ho na TestNG Suite.

Ak sa chcete dozvedieť viac podrobností o písaní testovacieho prípadu pomocou TestNG, prečítajte si tento článok Výukový program TestNG . Poďme teraz ďalej a pochopme, ako vám anotácie TestNG pomôžu zoskupiť testovacie prípady a nakonfigurovať váš program.

Testovací prípad 1:

V tomto testovacom prípade použijem tri rôzne anotácie a program kódujem. Poďme si predstaviť, ako to urobiť, pomocou nižšie uvedeného príkladu.

balík co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test verejnej triedy AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' verejný WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('launching Chrome browser') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectTitle = 'Online školenie vedené inštruktorom s doživotnou podporou 24x7 @AfterTest verejné void terminateBrowser () {driver.close ()}}

V zásade chcem skontrolovať, či sa skutočný názov webovej stránky Edureka zhoduje s očakávaným názvom alebo nie. Takže najskôr používam ‘ @BeforeTest ‘ Anotácia a vytvorenie inštancie ovládača prehliadača a prechádzanie webovou stránkou Edureka pomocou driver.get () metóda. Toto sú kroky, ktoré by sa mali vykonať pred testom.

Ďalej počas tohto testu chcem skontrolovať, či sa očakávaný názov a skutočný názov zhodujú alebo nie. Preto všetky kroky špecifikujem pomocou anotácie @Test. Nakoniec chcem zavrieť ovládač a po teste ukončiť prehliadač. Preto používam @ AfterTest Anotácia a zatváranie vodiča. Takto teda zoskupujem celý kód do rôznych anotácií a vykonávam testovací prípad. Spustíme program ako TestNG Test a skontrolujeme výstup.

Na snímke môžete vidieť, že testovací prípad sa úspešne spustil v predvolenom teste a suite. Testovací prípad tiež prešiel a taktiež nedošlo k zlyhaniu.

Teraz si ukážeme ešte jeden príklad na pochopenie hĺbky priebehu vykonávania rôznych anotácií. Je veľmi potrebné poznať postup vykonávania anotácií. Pozrime sa teda na snímku nižšie, aby sme o nej vedeli.

čo je jit v jave

Postup vykonávania anotácií bude taký, ako je znázornený na snímke vyššie. Teraz si ukážeme ešte jeden príklad na pochopenie toho istého.

Testovací prípad 2:

balík co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test verejnej triedy testngAnnotations {// Testovací prípad 1 @Test verejnej neplatnosti testCase1 () {System.out.println ('Testovací prípad 1')} // Testovací prípad 2 @Test public void testCase2 () {System.out.println ('Testovací prípad 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Pred Metóda ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( „After Suite“)}}

Vo vyššie uvedenom kóde píšem náhodne všetky metódy s anotáciami. Nesledujem jeho postupnosť. Ale keď vykonám program, bude nasledovať rovnaké poradie. Poďme teraz skontrolovať výstup.

[RemoteTestNG] detekovaný TestNG verzia 6.14.2 Pred balíkom Pred testom Pred triedou Pred metódou Testovací prípad 1 Po metóde Pred metódou Testovací prípad 2 Po metóde po triede Po teste ZOBRAZENÉ: testCase1 ZOBRAZENÉ: testCase2 =========== ========================================================================================================================================================================== ================================================ Po balíku = ============================================== Predvolený balík Celkom testov beh: 2, zlyhania: 0, preskočenie: 0 ======================================== ========

Z vyššie uvedeného výstupu si môžete všimnúť, že vykonal obidva testovacie prípady a súpravu Before Suite a After Suite vykonanú iba raz. Test tiež úspešne prebehol na predvolenom teste a suite. Takto musíte vykonať testovacie prípady pomocou anotácií.Týmto sa dostávame na koniec tohto článku o anotáciách TestNG v seléne.

Dúfam, že ste pochopili tieto koncepty a zvýšili hodnotu vašich vedomostí. Teraz, ak chcete získať viac informácií o seléne, môžete sa pozrieť na článok .

Ak ste našli toto „Anotácie TestNG v seléne „Relevantné, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov Anotácie TestNG v seléne článok a my sa vám ozveme.