Ú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.
- Poznámky jazyka Java
- Nainstalujte TestNG
- AngularJS Unit Testing
- Testování kompatibility