Vše, co potřebujete vědět o anotacích TestNG v selenu

Tento článek o anotacích TestNG v selenu vám pomocí příkladů pomůže pochopit různé anotace, které TestNG v selenu podporuje.

Od té doby koncept bylo zavedeno mnoho metodik testování, paradigmata se změnila, ale požadavky nějak zvítězily, aby zůstaly konstantní. Jedna taková metodologie je TestNG což nám pomáhá seskupit testovací případy do různých částí kódu pomocí anotací. Ale jak to funguje? Pojďme pochopit tento koncept prostřednictvím média v tomto článku o anotacích TestNG v .

V tomto článku se budu věnovat níže uvedeným tématům:





Úvod do TestNG

TestNG znamená Vyzkoušejte novou generaci a jedná se o open-source testovací automatizační rámec inspirovaný JUnit a NUnit. Studna, TestNG není jen inspirován, ale je to upgradovaná verze těchto dvou rámců. Jaký je tedy upgrade zde? Upgrade s TestNG spočívá v tom, že poskytuje další funkce, jako jsou poznámky k testu, seskupování, stanovení priorit, parametrizace a sekvenční techniky v kódu, které dříve nebyly možné.

Úvod do TestNG - Anotace TestNG - EdurekaSpravuje nejen testovací případy, ale dokonce i podrobné zprávy o testech lze získat také pomocí TestNG. K dispozici bude podrobné shrnutí, které zobrazí počet testovacích případů, které selhaly. Chyby lze také lokalizovat přesně a nejdříve je opravit. Nyní, když víte, co je TestNG, se podívejme, proč používat TestNG v selenu.



Proč používat TestNG v selenu?

Vývojáři softwaru z celého světa jednomyslně souhlasí s tím, že psaní kódu v testovacích případech jim ušetří velkou část času na ladění. Proč? To je proto, že testovací případy pomáhají při vytváření robustního a bezchybného kódu rozdělením celého kódu na menší testovací případy a poté vyhodnocením každého z těchto testovacích případů pro splnění / nesplnění podmínek můžete vytvořit bezchybný kód. Od té doby nepodporuje provádění kódu v testovacích případech, do obrazu vstoupí TestNG, který pomůže při provádění testovacích případů.

TestNG také podporuje následující funkce:

  • Generuje zprávu ve správném formátu, který zahrnuje počet provedených testovacích případů, počet neúspěšných testovacích případů a testovací případy, které byly přeskočeny.
  • Více testovacích případů lze snáze seskupit převedením do souboru TestNG.xml. Zde můžete nastavit priority pro provedení testovacích případů.
  • Pomocí TestNG můžete provádět více testovacích případů na více prohlížečích, tj. testování napříč prohlížeči .
  • Rámec testování lze snadno integrovat s nástroji jako Maven, Jenkins atd.

Nyní, když víte, co je TestNG a proč se používá, pojďme dále a poznejte různé anotace, které TestNG v selenu podporuje.

Anotace TestNG

Poznámky TestNG v selenu se používají k řízení další metody, která se má provést. Poznámky k testu jsou definovány před každou metodou v testovacím kódu. V případě, že žádná metoda nemá předponu s anotacemi, bude tato metoda ignorována a nebude provedena jako součást testovacího kódu. K jejich definování je třeba metody jednoduše anotovat pomocí ‚ @Test „.



Typy anotací TestNG:

Níže je uveden seznam anotací, které TestNG podporuje v selenu.

co dělá bufferedreader v java
  • @BeforeMethod: Metoda s touto anotací bude provedena před každou @test komentovaná metoda.
  • @ AfterMethod: Toto anotace bude provedena po každém @test komentovaná metoda.
  • @Před hodinou: Tato anotace bude provedena dříve první @Test provedení metody. Spouští se pouze jednou na třídu.
  • @AfterClass: T jeho anotace bude provedena po spuštění všech testovacích metod v aktuální třídě
  • @BeforeTest: Metoda s touto anotací bude provedena dříve první @Test komentovaná metoda.
  • @AfterTest: Metoda s touto anotací bude provedena, když Všechno @Test anotované metody dokončují provádění těch tříd, ve kterých je insidetag TestNG.xml soubor.
  • @BeforeSuite: Tato anotace bude spuštěna jen jednou předtím všechny testy v sadě byly spuštěny
  • @AfterSuite: Spustí se metoda s touto anotací jednou poté proběhlo provedení všech testů v sadě
  • @BeforeGroups: Tato anotovaná metoda bude spuštěna před první zkušební jízdou této konkrétní skupiny.
  • @AfterGroups: Tato anotovaná metoda bude spuštěna po všech zkušebních metodách této skupiny dokončí svou realizaci.

Jedná se tedy o poznámky v TestNG. Nyní pojďme dále a pochopme, jak napsat první testovací případ pomocí TestNG.

Vytváření testovacích případů pomocí anotací TestNG

Při vytváření testovacích případů pomocí anotace TestNG jsou různé kroky:

  1. Vytvořte projekt a přidejte Knihovnu TestNG.
  2. Vytvořte soubor třídy a kódujte program
  3. Nakonec napište soubor XML a proveďte jej na TestNG Suite.

Pokud se chcete dozvědět více podrobností o psaní testovacího případu pomocí TestNG, přečtěte si prosím tento článek Výukový program TestNG . Pojďme se nyní posunout dále a pochopit, jak vám poznámky TestNG pomohou seskupit testovací případy a nakonfigurovat váš program.

Testovací případ 1:

V tomto testovacím případě použiji tři různé anotace a kóduji program. Pojďme pochopit, jak to udělat pomocí níže uvedeného příkladu.

balíček co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test veřejná třída AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' veřejný WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('launching Chrome browser') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectTitle = 'Online školení vedené instruktorem s doživotní podporou 24x7 @AfterTest public void terminateBrowser () {driver.close ()}}

V zásadě chci zkontrolovat, zda se skutečný název webové stránky Edureka shoduje s očekávaným názvem nebo ne. Takže nejprve používám ‚ @BeforeTest ' Anotace a vytvoření instance ovladače prohlížeče a procházení webu Edureka pomocí driver.get () metoda. Toto jsou kroky, které je třeba provést před testem.

Dále během tohoto testu chci zkontrolovat, zda se shoduje očekávaný název a skutečný název nebo ne. Proto specifikuji všechny kroky pomocí @Test Annotation. Nakonec chci zavřít ovladač a po testu ukončit prohlížeč. Proto používám @AfterTest Anotace a uzavření ovladače. Takto seskupuji celý kód do různých anotací a provádím testovací případ. Spustíme program jako TestNG Test a zkontrolujeme výstup.

Na snímku můžete vidět, že testovací případ byl úspěšně spuštěn ve výchozím testu a sadě. Testovací případ také prošel a také nedošlo k selhání.

Podívejme se ještě na jeden příklad, abychom pochopili hloubku průběhu provádění různých anotací. Je velmi nutné znát postup provádění anotací. Pojďme se tedy podívat na snímek níže, abychom o něm věděli.

co je jit v java

Postup provádění anotací bude zobrazen na výše uvedeném snímku. Nyní se podívejme ještě na jeden příklad, abychom tomu porozuměli.

Testovací případ 2:

balíček co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test veřejná třída testngAnnotations {// Testovací případ 1 @Test veřejná neplatnost testCase1 () {System.out.println ('Test Case 1')} // Test Case 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Metoda ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( „After Suite“)}}

Ve výše uvedeném kódu náhodně píšu všechny metody s anotacemi. Nesleduji jeho sled. Ale když spustím program, bude následovat stejné pořadí. Podívejme se nyní na výstup.

[RemoteTestNG] detekováno TestNG verze 6.14.2 Před sadou Před testem Před třídou Před metodou Testovací případ 1 Po metodě Před metodou Testovací případ 2 Po metodě po třídě Po testu PŘEDÁNO: testCase1 PŘEDÁNO: testCase2 ========== ==================================== Výchozí testovací testy: 2, selhání: 0, přeskočení: 0 ================================================ Po sadě = ============================================== Výchozí sada Celkem testů běh: 2, selhání: 0, přeskočení: 0 ======================================== ========

Z výše uvedeného výstupu si můžete všimnout, že provedl oba testovací případy a před Suite a After Suite provedeny pouze jednou. Test také proběhl úspěšně na výchozím testu a sadě. Takto musíte provést testovací případy pomocí anotací.Tím se dostáváme na konec tohoto článku o anotacích TestNG v selenu.

Doufám, že jste pochopili koncepty a přidaly hodnotu vašim znalostem. Nyní, pokud chcete získat více informací o selenu, můžete se podívat na článek .

Pokud jste našli toto „TestNG anotace v selenu „Relevantní, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů na Anotace TestNG v selenu článku a my se vám ozveme.