Úvod do anotací TestNG

Jak víme, TestNG je rámec pro automatizaci testování, který se používá spolu s rámcem Selenium pro usnadnění procesu automatizace testu. Vyvstává však otázka, co je anotace a proč jsou použity? Anotace v TestNG jsou instrukce / kód, který je přidán do kódu, aby instruoval kompilátor k řízení toku provádění testovacího případu podle specifických požadavků. Protože existuje řada metod, proměnných a funkcí, které je třeba dodržovat, aby se správně provedly testovací případy. TestNG anotace to vede k kompilátoru jednoduchými a snadno srozumitelnými anotacemi, a proto není nutné používat statickou hlavní metodu v programu, která určuje začátek provádění kódu.

TestNG Anotace

Existují různé anotace TestNG a každá anotace se používá pro jiný účel. Anotace s jejich vysvětlením jsou uvedena níže:

1. @BeforeSuite: Tato anotovaná metoda je spuštěna před spuštěním všech testů v sadě testů.

2. @AfterSuite: Tato anotovaná metoda je spuštěna po spuštění všech testů v konkrétní sadě testů.

3. @BeforeTest: Tato anotovaná metoda je spuštěna před jakoukoli testovací metodou související s třídou, která je definována uvnitř značky.

4. @AfterTest: Tato anotovaná metoda je spuštěna po provedení každé testovací metody týkající se třídy definované uvnitř značky.

5. @BeforeClass: Tato anotovaná metoda je spuštěna pouze jednou a je provedena před první testovací metodou uvedené třídy.

6. @AfterClass: Tato anotovaná metoda je spuštěna pouze jednou a je provedena po provedení všech testovacích metod uvedené / aktuální třídy.

7. @ Test: Tato anotovaná metoda označuje jakoukoli třídu nebo metodu jako součást testu, který je třeba testovat. Má různé parametry, které jsou uvedeny níže:

  • alwaysRun: Testovací metoda vždy běží, pokud je nastavena na true, bez ohledu na to, že testovací případ, na kterém závisí, se nezdaří.
  • dataProvider: Definuje jméno poskytovatele dat pro testovací případ.
  • závisí na metodách: Definuje seznam metod, na kterých daná metoda závisí.
  • dependOnGroups : Definuje seznam skupin, na kterých daná metoda závisí.
  • Popis : Definuje popis metody
  • Povoleno : Definuje, zda je metoda povolena nebo ne. Pokud je nastavena na false, pak se tato metoda neprovede nebo se považuje za nepřítomnou.
  • Priorita : Definuje prioritu konkrétní zkušební metody, po jejímž provedení by měla být provedena. Nejnižší hodnoty priority jsou naplánovány jako první a pokud testovací případy nejsou definovány žádné hodnoty priority, pak TestNG přiřadí výchozí hodnotu priority (0).
  • successPercentage : Definuje procento úspěchu, které se očekává od této metody.
  • announcationCount : Jak název napovídá, určuje, kolikrát je metoda volána.
  • timeOut : Definuje maximální počet opakování, které by měl konkrétní testovací případ trvat. Je definována v milisekundách.
  • InvocationTimeOut : Stejně jako timeOut určuje počet milisekund, které by metoda měla trvat, aby dokončila všechny počty vyvolání. Její hodnoty jsou vždy uvedeny v milisekundách.

8. @BeforeMethod: Tato anotovaná metoda běží před každou testovací metodou.

9. @AfterMethod: Tato anotovaná metoda bude probíhat po každé testovací metodě.

10. @BeforeGroups: Tato anotovaná metoda bude spuštěna před první testovací metodou příslušné skupiny, která je součástí provádění.

11. @AfterGroups: Tato anotovaná metoda se spustí po všech testovacích metodách nebo po vyvolání poslední metody příslušné skupiny, která je součástí provádění.

12. @DataProvider: Tato anotovaná metoda se používá k dodání dat do testovací metody. Může být použit s jakoukoli metodou @test, aby bylo možné poskytnout vstup. Používá se k dodávání komplexních parametrů metodám @test, které nemohou být uvedeny v souboru XML. Každý @DataProvider musí vrátit Object () (), kde je každému Object () přiřazen seznam parametrů zkušební metody. Má atribut jako „jméno“, který je třeba zadat, není-li programátorem zmíněn, je jeho hodnota nastavena na název metody. Má jeden atribut s názvem „paralelní“, který je ve výchozím nastavení „false“. Pokud je nastavena na true, pak všechny testovací případy

13. @ Listeners: Tato anotace se používá k definování posluchačů v testovací metodě.

14. @Parameters: Tato anotace se používá k definování parametrů v testovací metodě. Atribut 'Value' se používá obsahující všechny názvy proměnných, které se používají jako parametry.

15. @ Factory: Tato anotace se používá k označení jakékoli zkušební metody jako továrny a vrátí objekt (Object ()), který se používá jako třídy TestNG v souboru TestNG.

Výhody anotací TestNG

Níže jsou uvedeny některé z výhod anotací TestNG:

  • TestNG je rámec používaný s Seleniem s anotacemi, které poskytují snadný a snadný způsob ovládání toku provádění automatizovaných testovacích případů.
  • TestNG pomáhá spouštět / provádět testovací případy paralelně.
  • TestNG poskytuje možnost prioritizace testovacího případu podle požadavků programátora.
  • TestNG pomáhá při seskupování testovacích případů a odpovídajícím způsobem je provádí.
  • TestNG poskytuje vynikající způsob generování zprávy podle výsledků testu.
  • TestNG je silně zadán, což definuje schopnost silné kontroly chyb.
  • Poskytuje snadný způsob předávání parametrů a poskytuje vstupy do testovacích případů.
  • TestNG se také může připojit k externím zdrojům dat.
  • Není potřeba vzor ani formát, který je třeba dodržovat při provádění testovacích případů. Anotace poskytují možnost volat metody podle specifických požadavků.
  • TestNG generuje zprávy založené na HTML představující data v grafickém formátu, který je snadno a pohodlněji srozumitelný.

Závěr

Výše uvedený popis jasně vysvětluje různé anotace TestNG a účel každé anotace při řízení toku. Ačkoli anotace TestNG se velmi snadno používají a my je můžeme používat podle požadavků, ale před použitím v automatizaci testů by se mělo získat hluboké porozumění každé anotace.

Doporučené články

Toto je průvodce anotacemi TestNG. Zde diskutujeme různé anotace TestNG s výhodami. Další informace naleznete také v dalších souvisejících článcích.

  1. Poznámky jazyka Java
  2. Nainstalujte TestNG
  3. AngularJS Unit Testing
  4. Testování kompatibility

Kategorie: