TestNG úvod

TestNG úvod
4 MIN
14 mar 2024

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

  1. 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ď.

  1. 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.

  1. 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.

  1. Stanovenie priorít testov

Pomocou tejto funkcie môžeme testom priradiť číselnú hodnotu priority. Predvolená priorita je 0.

  1. 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.

  1. 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.

  1. 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.

  1. 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

  1. Vyberte „Pomoc / Inštalovať nový softvér…“.
  2. 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/.
  3. Začiarknite políčko vedľa adresy URL.
  4. Kliknite na tlačidlo „Next“ (Ďalej).
  5. 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.