TestNG konzultace

โšก Chytrรฉ shrnutรญ

TestNG je novรก generace Java testovacรญ rรกmec, kterรฝ se spojuje s Selenium pro strukturovanou automatizaci, bohatรฉ reporty a paralelnรญ spouลกtฤ›nรญ. Tento tutoriรกl se zabรฝvรก zรกkladnรญmi anotacemi, nastavenรญm projektu v Eclipse, psanรญ prvnรญho testovacรญho pล™รญpadu, HTML sestav a pokroฤilรฉ pouลพรญvรกnรญ parametrลฏ.

  • ๐Ÿงฑ Zรกkladnรญ rรกmec: TestNG rozลกiล™uje JUnit nรกpady s anotacemi, skupinapinga paralelnรญ provรกdฤ›nรญ testลฏ pro Selenium apartmรก.
  • ???? ๏ธ Anotace Drive Flow: Nastavenรญ, testovรกnรญ a demontรกลพ sekvencรญ @Test, @BeforeMethod, @AfterMethod, @BeforeTest a @AfterTest.
  • ๐Ÿ—‚๏ธ Eclipse Setup: Build TestNG projekt, pล™idejte TestNG knihovna a Selenium JAR soubory a potรฉ pomocรญ prลฏvodce vygenerovat testovacรญ tล™รญdy.
  • ๐Ÿ“Š Hlรกลกenรญ: TestNG vytvรกล™รญ textovรฉ, grafickรฉ a HTML sestavy ve sloลพce test-output, vฤetnฤ› chronologickรฝch zobrazenรญ.
  • โš™๏ธ parametry: Pro ล™รญzenรญ poล™adรญ provรกdฤ›nรญ a zadรกvรกnรญ dat do testลฏ pouลพijte priority, alwaysRun a dataProvider.
  • ๐Ÿค– AI Boost: Asistenti kรณdovรกnรญ s umฤ›lou inteligencรญ zrychlujรญ TestNG generovรกnรญ tล™รญd, aktualizace lokรกtoru a scaffolding datovรฝch poskytovatelลฏ (dataProvider).

TestNG konzultace

Co je to TestNG?

TestNG je framework pro automatizovanรฉ testovรกnรญ, kde โ€žNGโ€œ znamenรก โ€žNext Generationโ€œ (Nรกsledujรญcรญ generace). TestNG je inspirovรกn JUnit a pouลพitรญ Java anotace (@) pro ล™รญzenรญ prลฏbฤ›hu testu. Pล™ekonรกvรก JUnitdล™รญvฤ›jลกรญ omezenรญ a je navrลพen tak, aby end-to-end testovรกnรญ jednoduลกลกรญ.

S TestNG Mลฏลพete si vygenerovat sprรกvnou zprรกvu a okamลพitฤ› vidฤ›t, kolik testลฏ probฤ›hlo รบspฤ›ลกnฤ›, neรบspฤ›ลกnฤ› nebo bylo pล™eskoฤeno. Mลฏลพete takรฉ znovu spustit pouze neรบspฤ›ลกnรฉ pล™รญpady.

Napล™รญklad:

  • Pล™edpoklรกdejme, ลพe mรกte pฤ›t testovacรญch pล™รญpadลฏ, kaลพdรฝ s vlastnรญ metodou, napsanรฝch bez TestNGTล™i projdou; ฤtvrtรฝ selลพe. Po opravฤ› ฤtvrtรฉho chcete znovu spustit pouze ten, protoลพe prvnรญ tล™i jiลพ proลกly. To je obtรญลพnรฉ provรฉst s pouhรฝm kรณdem metody main().
  • TestNG poskytuje testng-failed.xml Soubor v souboru test-output sloลพku. Spuลกtฤ›nรญ danรฉho XML znovu provede pouze neรบspฤ›ลกnรฉ pล™รญpady.

Kromฤ› toho se dozvรญte vรฝhody TestNG, jak psรกt testovacรญ metody s anotacemi @Test a jak pล™evรฉst tล™รญdy do testovacรญ sady, kterรก bฤ›ลพรญ z Eclipse nebo pล™รญkazovรฝ ล™รกdek.

Proฤ pouลพรญvat TestNG s Selenium?

Ve vรฝchozรญm nastavenรญ Selenium testy neprodukujรญ pฤ›knฤ› formรกtovanรฉ vรฝsledky. S TestNG Po zapojenรญ testovacรญ program vygeneruje strukturovanou zprรกvu, kterou mลฏลพete sdรญlet s tรฝmem.

Vฤ›tลกina Selenium uลพivatelรฉ preferujรญ TestNG pล™es JUnit kvลฏli ลกirลกรญ sadฤ› funkcรญ. Klรญฤovรฉ funkce pro Selenium jsou:

  • Zprรกvy, kterรฉ zahrnujรญ poฤet spuลกtฤ›nรฝch, รบspฤ›ลกnรฝch, neรบspฤ›ลกnรฝch a pล™eskoฤenรฝch testovacรญch pล™รญpadลฏ.
  • Snadnรก skupinaping testovacรญch pล™รญpadลฏ prostล™ednictvรญm testng.xml soubor s prioritami provรกdฤ›nรญ.
  • Opakujte test nฤ›kolikrรกt bez smyฤek pomocรญ invocationCount.
  • Spusลฅte vรญce testลฏ na vรญce prohlรญลพeฤรญch โ€“ napล™รญฤtestovรกnรญ prohlรญลพeฤe podporu.
  • Hladkรก integrace s Mavenem, Jenkinsa dalลกรญ nรกstroje pro CI.
  • Readable anotace โ€“ napล™รญklad @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest.
  • Selenium WebDriver nemรก nativnรญ reporting; TestNG vyplnรญ tuto mezeru ฤistou HTML sestavou, jako je ta nรญลพe.

TestNG Ukรกzka HTML sestavy pro Selenium Testy

  • TestNG zjednoduลกuje testovacรญ kรณd. Uลพ nepotล™ebujete statickou metodu main; anotace rozhodujรญ o tom, co se spustรญ a kdy.

Obvyklรฝ Java struktura testovacรญ tล™รญdy s metodou main

TestNG struktura testovacรญ tล™รญdy s pouลพitรญm anotacรญ

  • Nezachycenรฉ vรฝjimky jsou elegantnฤ› zpracovรกny pomocรญ TestNGJsou hlรกลกeny jako neรบspฤ›ลกnรฉ kroky bez ukonฤenรญ celรฉho bฤ›hu.

vรฝhody TestNG pล™es JUnit

TestNG nabรญzรญ tล™i hlavnรญ vรฝhody oproti JUnit:

  • Anotace jsou snรกze pochopitelnรฉ a pouลพitelnรฉ.
  • Testovacรญ pล™รญpady lze seskupovat a prioritizovat s menลกรญm รบsilรญm.
  • Paralelnรญ provรกdฤ›nรญ testลฏ je podporovรกno ihned po vybalenรญ.

Co je to anotace v TestNG?

Anotace v TestNG jsou ล™รกdky kรณdu umรญstฤ›nรฉ nad metodou, kterรฉ ล™รญdรญ, jak se metoda provรกdรญ. Vลพdy zaฤรญnajรญ symbolem @. Jednoduchรฝ pล™รญklad je uveden nรญลพe.

Pล™รญklad TestNG anotace nad Java metoda

Anotace jsou podrobnฤ› popsรกny v sekci โ€žPouลพitรฉ anotace v TestNG" dรกle v tomto tutoriรกlu, takลพe vรฝลกe uvedenรฝ pล™รญklad slouลพรญ pouze k nastavenรญ oฤekรกvรกnรญ. TestNG Anotace se snรกze kรณdujรญ a ฤitelnฤ› dฤ›lajรญ neลพ JUnit ekvivalenty a jsou nezbytnรฉ pล™i provรกdฤ›nรญ testลฏ na Selenium Mล™รญลพka kde je dลฏleลพitรฉ paralelnรญ provรกdฤ›nรญ.

Jak psรกt testovacรญ pล™รญpady v TestNG

Psanรญ a TestNG Testovacรญ pล™รญpad probรญhรก ve tล™ech krocรญch:

  1. Napiลกte svou obchodnรญ logiku a umรญstฤ›te ji TestNG anotace nad kaลพdou metodou.
  2. Pล™idejte metadata, jako je nรกzev tล™รญdy, nรกzev skupiny a nรกzev balรญฤku.
  3. Spusลฅte TestNG tล™รญdu z vaลกeho IDE nebo z pล™รญkazovรฉho ล™รกdku.

Vytvoล™te testovacรญ pล™รญpad pomocรญ TestNG Anotace

Nynรญ vytvoล™รญme nรกลก prvnรญ testovacรญ pล™รญpad pomocรญ TestNG anotace v SeleniumPล™ed psanรญm testu si pล™ipravte novรฝ TestNG projekt v Eclipse a zavolej to JmรฉnoTestNGProjekt.

Nastavenรญ novรฉho TestNG Projekt

Krok 1) kliknฤ›te Soubor > Novรฝ > Java Projekt.

Eclipse nabรญdka pro vytvoล™enรญ novรฉho Java projekt

Krok 2) vstoupit JmรฉnoTestNGProjekt jako nรกzev projektu a kliknฤ›te dalลกรญ.

Novรฝ Java prลฏvodce projektem s nรกzvem FirstTestNGProjekt

Krok 3) Importujte TestNG knihovny. Kliknฤ›te na knihovny a potom Pล™idat knihovnuโ€ฆ.

Karta Knihovny s moลพnostรญ Pล™idat knihovnu v Eclipse

Krok 4) v Pล™idat knihovnu dialog, zvolte TestNG a klepnฤ›te na tlaฤรญtko dalลกรญ.

Volba TestNG v dialogovรฉm oknฤ› Pล™idat knihovnu

Krok 5) kliknฤ›te รบprava.

Dokonฤenรญ prลฏvodce pล™idรกnรญm knihovny

TestNG by se nynรญ mฤ›lo zobrazit v seznamu knihoven.

TestNG viditelnรฉ v seznamu knihoven

Krok 6) Pล™idejte soubory JAR, kterรฉ obsahujรญ Selenium API. Tyto pochรกzejรญ z Java ovladaฤ klienta staลพenรฝ z selenium.dev/ke staลพenรญ.

Dialogovรฉ okno Pล™idat externรญ soubory JAR v Eclipse

Pล™ejdฤ›te do sloลพky, kde se Selenium JAR soubory jsou uloลพeny.

Volba Selenium Soubory JAR pro cestu sestavenรญ

Po pล™idรกnรญ externรญch JAR souborลฏ by obrazovka mฤ›la vypadat takto.

Selenium Soubory JAR pล™idรกny do seznamu knihoven

Krok 7) kliknฤ›te รบprava. Novรฝ JmรฉnoTestNGProjekt zobrazรญ se v Prลฏzkumnรญku balรญฤkลฏ.

JmรฉnoTestNGProjekt viditelnรฝ v Prลฏzkumnรญku balรญฤkลฏ

Jak vytvoล™it novรฝ TestNG Testovacรญ soubor

S pล™ipravenรฝm projektem vytvoล™te novรฝ TestNG soubor.

Krok 1) Klepnฤ›te pravรฝm tlaฤรญtkem myลกi na ikonu src sloลพky a zvolte Novรฉ > Ostatnรญโ€ฆ.

Novรฉ menu Ostatnรญ ze sloลพky src v Eclipse

Krok 2) Rozbalte TestNG vyberte sloลพku TestNG tล™รญda, a klepnฤ›te na tlaฤรญtko dalลกรญ.

TestNG moลพnost tล™รญdy v prลฏvodci Novรฝ

Krok 3) Zadejte nรญลพe uvedenรฉ hodnoty a kliknฤ›te na รบprava, Java soubor je pojmenovรกn JmรฉnoTestNGSoubor.

TestNG tล™รญdnรญ kouzelnรญk s FirstTestNGHodnoty souborลฏ

Krok 4) Eclipse generuje TestNG ลกablona uvedenรก nรญลพe.

Generovรกno TestNG ลกablona tล™รญdy v Eclipse editor

Kรณdovรกnรญ vaลกeho prvnรญho TestNG Testovacรญ pล™รญpad

Vytvoล™te prvnรญ modelovรฝ pล™รญpad kterรฝ ovฤ›ล™uje nรกzev Mercury Domovskรก strรกnka prohlรญdek.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @Test
    public void verifyHomepageTitle() {
        System.out.println("launching firefox browser");
        // Selenium 4 ships Selenium Manager, so the driver path is no longer required.
        driver = new FirefoxDriver();
        driver.get(baseUrl);
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
        driver.quit();
    }
}

Vฤ›ci, kterรฝch je tล™eba si vลกimnout:

  • TestNG nepotล™ebuje main() metoda.
  • Metody nemusรญ bรฝt statickรฉ.
  • Jedno @Test anotaฤnรญ znaฤky verifyHomepageTitle() jako testovacรญ pล™รญpad.
  • Anotace jsou k dispozici v org.testng.annotations.* balรญฤek.
  • Jedno Tvrdit tล™รญda z org.testng.Assert vede k ovฤ›ล™ovรกnรญ.

V jednom souboru mลฏลพete mรญt vรญce anotacรญ @Test. TestNG souboru. Tomu se vฤ›nujeme v โ€žPouลพitรฉ anotace v TestNG" sekce.

Spuลกtฤ›nรญ testu

Kliknฤ›te pravรฝm tlaฤรญtkem myลกi na soubor a spusลฅte jej jako TestNG test. Eclipse vygeneruje dva vรฝstupy โ€“ textovรฝ vรฝsledek v oknฤ› konzole a grafickรฝ vรฝsledek v TestNG Okno vรฝsledkลฏ.

TestNG Okno s vรฝsledky testu

Eclipse Okno konzole s TestNG textovรฝ vรฝstup

Kontrola sestav vytvoล™enรฝch uลพivatelem TestNG

Okno konzole poskytuje textovรฝ souhrn, zatรญmco TestNG Okno s vรฝsledky zobrazuje grafickรฉ zobrazenรญ.

Text vs. grafika TestNG porovnรกnรญ vรฝsledkลฏ

Generovรกnรญ HTML zprรกv

TestNG mลฏลพe takรฉ generovat kompletnรญ HTML reporty.

Krok 1) Po spuลกtฤ›nรญ JmรฉnoTestNGSoubor, kliknฤ›te pravรฝm tlaฤรญtkem myลกi na projekt a vyberte Obnovit.

Moลพnost obnovenรญ pro TestNG projekt v Eclipse

Krok 2) A testovacรญ vรฝstup Zobrazรญ se sloลพka. Rozbalte ji a vyhledejte index.html โ€” HTML sestava pro poslednรญ spuลกtฤ›nรญ.

sloลพka test-output se zvรฝraznฤ›nรฝm souborem index.html

Krok 3) Double-kliknฤ›te index.html otevล™รญt to uvnitล™ EclipseProhlรญลพeฤ . Stisknutรญm klรกvesy F5 jej po dalลกรญch spuลกtฤ›nรญch obnovรญte.

TestNG Zprรกva o indexu HTML vykreslenรก v Eclipse

Anotace pouลพitรฉ v TestNG

Anotaci @Test jste jiลพ vidฤ›li. Zbytek tรฉto ฤรกsti se zabรฝvรก nejuลพiteฤnฤ›jลกรญmi pokroฤilรฝmi anotacemi.

Vรญce testovacรญch pล™รญpadลฏ

Single TestNG Soubor mลฏลพe obsahovat vรญce anotacรญ @Test. Ve vรฝchozรญm nastavenรญ se metody anotovanรฉ pomocรญ @Test provรกdฤ›jรญ v abecednรญm poล™adรญ. V nรญลพe uvedenรฉm kรณdu metody c_test, a_test, a b_test spouลกtฤ›t abecednฤ› bez ohledu na poล™adรญ zdrojลฏ.

Vรญce metod @Test v jednom TestNG tล™รญda

Spusลฅte kรณd a otevล™ete index.html, kliknฤ›te Chronologickรฝ pohled.

Chronologickรฝ pohled na vรญce TestNG metody

parametry

Chcete-li pล™epsat vรฝchozรญ poล™adรญ, pouลพijte priority parametr. Parametry jsou klรญฤovรก slova, kterรก upravujรญ chovรกnรญ anotace.

  • Pล™iล™aฤte hodnotu pomocรญ =.
  • Parametry zalomte do zรกvorek umรญstฤ›nรฝch bezprostล™ednฤ› za anotacรญ, jak je znรกzornฤ›no nรญลพe.

TestNG anotace se syntaxรญ parametrลฏ a hodnot

TestNG Provรกdรญ anotace @Test od nejniลพลกรญ hodnoty priority po nejvyลกลกรญ. ฤŒรญsla priorit nemusรญ jรญt za sebou.

รšplnรฝ kรณd s parametry priority @Test

Zprรกva HTML potvrzuje, ลพe metody byly spuลกtฤ›ny ve vzestupnรฉm poล™adรญ priority.

TestNG sestava zobrazujรญcรญ metody spouลกtฤ›nรฉ podle vzestupnรฉ priority

Vรญce parametrลฏ

Kromฤ› priority, @Test akceptuje alwaysRun parametr (true nebo false). Chcete-li v jednรฉ anotaci pouลพรญt dva nebo vรญce parametrลฏ, oddฤ›lte je ฤรกrkou:

@Test(priority = 0, alwaysRun = true)

Pล™รญklad vรญce parametrลฏ uvnitล™ anotace @Test

@BeforeTest a @AfterTest

@Pล™ed testem Metody pod touto anotacรญ bฤ›ลพรญ pล™ed prvnรญm testovacรญm pล™รญpadem v TestNG soubor.
@Po testu Metody pod touto anotacรญ bฤ›ลพรญ po vลกech testovacรญch pล™รญpadech v TestNG dokonฤenรญ souboru.

Zvaลพte nรญลพe uvedenรฝ kรณd.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @Test
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }

    @AfterTest
    public void terminateBrowser() {
        driver.quit();
    }
}

Z tabulky a kรณdu mลฏลพeme pล™edpovฤ›dฤ›t, ลพe sekvence bude:

  • 1. โ€” launchBrowser()
  • 2. โ€” verifyHomepageTitle()
  • 3. โ€” terminateBrowser()

Umรญstฤ›nรญ anotaฤnรญch blokลฏ ve zdrojovรฉm souboru neovlivลˆuje poล™adรญ jejich provรกdฤ›nรญ. Zkuste metody pล™eskupit, jak je uvedeno nรญลพe.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @AfterTest                              // Jumbled
    public void terminateBrowser() {
        driver.quit();
    }

    @BeforeTest                             // Jumbled
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @Test                                   // Jumbled
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }
}

Spusลฅte kรณd a ovฤ›ล™te vรฝsledek.

TestNG vรฝsledek potvrzuje objednรกvku i pล™es zmatenost anotacรญ

@BeforeMethod a @AfterMethod

@BeforeMethod Metody pod touto anotacรญ bฤ›ลพรญ pล™ed kaลพdou zkuลกebnรญ metodou.
@AfterMethod Metody pod touto anotacรญ bฤ›ลพรญ po kaลพdรฉ zkuลกebnรญ metodฤ›.

In Mercury Pล™edpoklรกdejme, ลพe chceme ovฤ›ล™it nรกzvy dvou cรญlovรฝch strรกnek, na kterรฉ se dostanete z domovskรฉ strรกnky.

Tล™i odkazy z Mercury Domovskรก strรกnka prohlรญdek

Prลฏbฤ›h testu je:

  • Otevล™ete domovskou strรกnku a ovฤ›ล™te jejรญ nรกzev.
  • Kliknฤ›te na REGISTROVAT a ovฤ›ล™te nรกzev cรญlovรฉ strรกnky.
  • Vraลฅte se na domovskou strรกnku a ovฤ›ล™te nรกzev.
  • Kliknฤ›te na PODPORA a ovฤ›ล™te nรกzev cรญlovรฉ strรกnky.
  • Vraลฅte se na domovskou strรกnku a znovu ovฤ›ล™te nรกzev.

Nรญลพe uvedenรฝ kรณd ukazuje, jak @BeforeMethod a @AfterMethod zpracovรกvajรญ opakovanรฉ kroky.

package firsttestngpackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;
    public String expected = null;
    public String actual = null;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @BeforeMethod
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }

    @Test(priority = 0)
    public void register() {
        driver.findElement(By.linkText("REGISTER")).click();
        expected = "Register: Mercury Tours";
        actual = driver.getTitle();
        Assert.assertEquals(actual, expected);
    }

    @Test(priority = 1)
    public void support() {
        driver.findElement(By.linkText("SUPPORT")).click();
        expected = "Under Construction: Mercury Tours";
        actual = driver.getTitle();
        Assert.assertEquals(actual, expected);
    }

    @AfterMethod
    public void goBackToHomepage() {
        driver.findElement(By.linkText("Home")).click();
    }

    @AfterTest
    public void terminateBrowser() {
        driver.quit();
    }
}

Po spuลกtฤ›nรญ testu, TestNG uvรกdรญ nรญลพe uvedenou sekvenci.

TestNG sekvenci hlรกลกenรญ pomocรญ metod BeforeMethod a AfterMethod

Struฤnฤ› ล™eฤeno: umรญstฤ›te kroky instalace dovnitล™ @BeforeMethod a vyฤiลกtฤ›nรญ nebo resetovรกnรญ navigace uvnitล™ @AfterMethod takลพe kaลพdรฝ testovacรญ pล™รญpad zaฤรญnรก a konฤรญ ve znรกmรฉm stavu.

Shrnutรญ TestNG Anotace

  • @Pล™edSuite: spustรญ se pล™ed vลกemi testy v sadฤ›.
  • @AfterSuite: spustรญ se po vลกech testech v sadฤ›.
  • @Pล™edTestem: spustรญ se pล™ed jakoukoli testovacรญ metodou patล™รญcรญ do tล™รญd uvnitล™ ลกtรญtek.
  • @PoTestu: spustรญ se po vลกech testovacรญch metodรกch patล™รญcรญch do tล™รญd uvnitล™ ลกtรญtek.
  • @Pล™edGroups: spustรญ se krรกtce pล™ed prvnรญ testovacรญ metodou, kterรก patล™รญ do jakรฉkoli uvedenรฉ skupiny.
  • @AfterGroups: spustรญ se krรกtce po poslednรญ testovacรญ metodฤ›, kterรก patล™รญ do jakรฉkoli uvedenรฉ skupiny.
  • @Pล™edTล™รญdou: spustรญ se pล™ed prvnรญ testovacรญ metodou v aktuรกlnรญ tล™รญdฤ›.
  • @AfterClass: spustรญ se po vลกech testovacรญch metodรกch v aktuรกlnรญ tล™รญdฤ›.
  • @Pล™edMetodou: spustรญ se pล™ed kaลพdou testovacรญ metodou.
  • @AfterMethod: spustรญ se po kaลพdรฉ testovacรญ metodฤ›.
  • @Test: oznaฤรญ metodu jako testovacรญ pล™รญpad.

Nejฤastฤ›jลกรญ dotazy

JUnit 5 modernizovanรฝch JUnit s Jupiter API a rozลกiล™ujรญcรญm modelem. TestNG stรกle vede v paralelnรญm provรกdฤ›nรญ, skupina na รบrovni sadyping, dependsOn a DataProvider. Mnoho Selenium tรฝmy si vybรญrajรญ TestNG pro komplexnรญ sady a JUnit 5 pro jednotkovรฉ testy.

Pล™idejte parallel="methods" nebo parallel="classes" a atribut thread-count. tag uvnitล™ souboru testng.xml. TestNG potรฉ distribuuje testovacรญ metody mezi vlรกkny, ideรกlnรญ pro Selenium Grid nebo cloud bฤ›ลพรญ napล™รญฤ prohlรญลพeฤi.

@DataProvider vklรกdรก vรญce datovรฝch sad do jednรฉ metody @Test. Kaลพdรฝ ล™รกdek v provideru pล™edstavuje jedno spuลกtฤ›nรญ. Jednรก se o standardnรญ vzor pro datovฤ› ล™รญzenรฉ metody. Selenium testy na formulรกล™รญch, vyhledรกvacรญch polรญch nebo pล™ihlaลกovacรญch obrazovkรกch.

Ano. AI programรกtorลกtรญ asistenti generujรญ TestNG kostry, anotovat metody @Test, vytvรกล™et tล™รญdy objektลฏ Page a navrhovat pole DataProvider z ukรกzkovรฝch souborลฏ CSV, coลพ vรฝraznฤ› zkracuje dobu vytvรกล™enรญ scaffoldingu.

Generativnรญ umฤ›lรก inteligence shromaลพฤuje protokoly testng-results.xml a Surefire, seskupuje podobnรฉ chyby, navrhuje pravdฤ›podobnรฉ pล™รญฤiny a vytvรกล™รญ nรกvrhy tiketลฏ Jira. To zkracuje dobu tล™รญdฤ›nรญ nespolehlivรฝch testลฏ a pomรกhรก vedoucรญm QA upล™ednostลˆovat opravy CI.

Shrลˆte tento pล™รญspฤ›vek takto: