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
- Prečo používať TestNG so selénom?
- Anotácie TestNG v seléne
- Vytváranie testovacích prípadov pomocou anotácií TestNG
Ú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é.
Nielenž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:
- Vytvorte projekt a pridajte knižnicu TestNG.
- Vytvorte súbor triedy a program kódujte
- 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.