TestNG úvod

V tomto článku budeme študovať – Čo je TestNG? Je to široko používaný testovací framework. Podporuje všetky úrovne testovania od unit testovania až po automatizované funkčné testovanie. Uvidíme jeho využitie v testoch Selenium a pozrieme sa aj na jeho výhody.
Obsah
Čo je TestNG?
TestNG je testovací framework inšpirovaný JUnitom. Poskytuje niekoľko funkcií, ako je testovanie založené na údajoch (data-driven testing), podpora parametrizácie, paralelné spúšťanie testovacích prípadov a zoskupovanie testovacích prípadov atď. Všetky tieto funkcie pomáhajú pri vytváraní robustných a výkonných testovacích projektov.
Metódu alebo funkciu môžeme jednoducho previesť na test tak, že na ňu pridáme anotáciu – @Test. Jednoduchý test v jazyku Java vyzerá takto:
@Test
public void sampleTest() {
//Any test logic
System.out.println(„Hi! ITtester here!“);
}
Teraz, buď v prípade výnimky, alebo v prípade zlyhania tvrdenia, bude testovací prípad označený ako Failed. V opačnom prípade bude test označený ako úspešný.
Funkcie TestNG
- Rôzne typy tvrdení
Má triedu Assert, ktorá poskytuje viacero metód podporujúcich rôzne typy tvrdení. Tieto assertions pomáhajú napríklad pri kontrole rovnosti očakávaného a skutočného výsledku; pri tvrdení podmienky ako True alebo False; pri tvrdení, či je hodnota null alebo nie je null atď.
- Paralelné spúšťanie testov
Pomocou súboru testNG.xml môžeme spúšťať testovacie prípady paralelne. To pomáha skrátiť celkový čas vykonávania testov. Paralelné vykonávanie sa môže vykonávať na viacerých úrovniach – na úrovni metód, tried, balíkov.
- Možnosť urobiť testy navzájom závislými
Test môžeme urobiť závislým od iných testov. To možno vykonať pomocou atribútov „dependsOnMethods“ a „dependsOnGroups“ s anotáciou @Test.
- Stanovenie priorít testov
Pomocou tejto funkcie môžeme testom priradiť číselnú hodnotu priority. Predvolená priorita je 0.
- Zoskupovanie testov
Podporuje logické zoskupovanie testovacích prípadov. Poskytuje tak možnosť spúšťať skupiny testov paralelne, pričom určité operácie sa vykonávajú pred alebo po vykonaní testov patriacich do skupiny.
- Testovanie riadené údajmi
Pomocou @DataProvider môžeme vytvárať testy riadené údajmi. Pomocou tejto anotácie dataProvider môžeme testovacej metóde odovzdať testovacie údaje.
- Reportovanie
Po vykonaní testu sa vytvorí HTML report, ktorý poskytuje tabuľkový prehľad výsledkov testu. Formát hlásenia je tiež konfigurovateľný implementáciou poslucháčov.
- Parametrizácia
Poskytuje inherentnú podporu parametrizácie pomocou anotácie @Parameters. Pomocou anotácie @Parameters môžeme odovzdať hodnotu parametra logike testu zo súboru testng.xml.
Výhody TestNG
- Pomáha skrátiť celkový čas vykonávania testov tým, že poskytuje možnosť paralelného vykonávania testov.
- Možno ho ľahko integrovať s nástrojmi CICD, ako je Jenkins. To možno vykonať pomocou súboru testNG.xml.
- Nie je potrebné napevno kódovať údaje. Možno to vykonať pomocou rôznych anotácií, ako napríklad – @DataProvider, @Parameter atď.
- Môžeme urobiť jeden test závislým od iného. Ušetríme tak čas tým, že v prípade zlyhania nadradených testov preskočíme závislý test.
- Pomocou zoskupovania testov môžeme vytvárať rôzne testovacie sady, ako napríklad – sanity, smoke, regression atď. Okrem toho môžeme tieto testovacie sady integrovať a spúšťať pomocou nástrojov CICD, ako je napríklad – Jenkins.
Inštalácia TestNG
TestNG nie je potrebné špeciálne inštalovať. Stačí si stiahnuť jar súbor testNG a pridať ho ako knižnicu alebo ho zahrnúť cez maven.
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.10</version>
<scope>test</scope>
</dependency>
TestNG s nastavením Eclipse
Aby sme mohli integrovať TestNG s Eclipse IDE, môžeme postupovať podľa nasledujúcich krokov uvedených na – TestNG.org. Na tento účel môžeme použiť buď Eclipse Marketplace alebo aktualizačnú stránku.
Prostredníctvom Eclipse Marketplace
Prejdite na stránku TestNG page on the Eclipse Market Place a potiahnite ikonu s názvom „Install“ na pracovnú plochu.
Inštalácia zo stránky s aktualizáciami
- Vyberte „Pomoc / Inštalovať nový softvér…“.
- Do poľa „Work with:“ (Pracovať s:) zadajte adresu URL aktualizačnej stránky:
Aktualizačná stránka pre vydanie – https://dl.bintray.com/testng-team/testng-eclipse-release/. - Začiarknite políčko vedľa adresy URL.
- Kliknite na tlačidlo „Next“ (Ďalej).
- Potom postupujte podľa krokov uvedených na stránke Eclipse.
Po dokončení vytvorte vzorový test takto:
@Test
public void sampleTest() {
System.out.println(„Hello World!“);
}

Teraz môžeme test spustiť kliknutím pravým tlačidlom myši na triedu a kliknutím na možnosť „Run as“. Potom kliknite na „TestNG Test“. Týmto môžeme spustiť testovacie prípady.
Ako vidíte, výsledky testu sú v podobe Passed (prešiel), Failed (neúspešný) a Skipped (preskočený). Potom to znamená, že sme nastavili správne.
