how use testng framework
V posledních několika výukových programech jsme osvětlili základní a běžně používané příkazy WebDriver. Dozvěděli jsme se také o strategiích lokalizace prvků uživatelského rozhraní a jejich zahrnutí do testovacích skriptů. A proto jsme vyvinuli naše velmi první testovací skript automatizace WebDriver .
Pohybem vpřed v tomto výukovém programu bychom probrali vše o TestNG, jeho funkcích a aplikacích.
TestNG je pokročilý rámec navrženo tak, aby využilo výhod jak vývojářů, tak testerů. Pro lidi, kteří již JUnit používají, by se TestNG s některými pokročilými funkcemi nezdálo nic jiného. Se začátkem rámců získala JUnit obrovský podíl popularita napříč aplikacemi Java, vývojáři Java a testery Java, s pozoruhodným zvýšením kvality kódu.
Viz také=> Výukový program JUnit a jeho použití v selenových skriptech
Přestože je JUnit snadno použitelný a přímočarý rámec, má svá vlastní omezení, která vyvolávají potřebu přinášet TestNG do obrázku. TestNG vytvořil uznávaný programátor s názvem „Cedric Beust“. TestNG je open source framework, který je distribuován pod softwarovou licencí Apache a je snadno dostupný ke stažení.
Hovoříme-li o našem požadavku na zavedení TestNG s WebDriverem, je to, že poskytuje efektivní a efektivní formát výsledků testu, který lze zase sdílet se zúčastněnými stranami, aby bylo možné nahlédnout do zdraví produktu / aplikace, čímž se eliminuje nevýhoda neschopnosti WebDriver generovat protokoly o zkoušce. TestNG má vestavěný mechanismus zpracování výjimek, který umožňuje spuštění programu bez neočekávaného ukončení.
TestNG i JUnit patří do stejné rodiny Unit Frameworks, kde TestNG je rozšířená verze pro JUnit a ve větší míře se používá v současné éře testování.
Co se naučíte:
- Vlastnosti TestNG
- Instalace TestNG v Eclipse
- Vytvoření ukázkového projektu TestNG
- Vytváření třídy TestNG
- Provádění skriptu TestNG
- Zprávy HTML
- Nastavení priority v TestNG
- Návod na kód
- Anotace TestNG
- Závěr
- Doporučené čtení
Vlastnosti TestNG
- Podpora anotací
- Podpora parametrizace
- Pokročilá metodika provádění, která nevyžaduje vytvoření testovacích sad
- Podpora testování na základě dat pomocí poskytovatelů dat
- Umožňuje uživateli nastavit priority provádění pro testovací metody
- Podporuje prostředí bezpečné při ohrožení při provádění více vláken
- Snadno podporuje integraci s různými nástroji a zásuvnými moduly, jako jsou nástroje pro vytváření (Ant, Maven atd.), Integrované vývojové prostředí (Eclipse).
- Usnadňuje uživateli efektivní prostředky generování zpráv pomocí ReportNG
Existují různé výhody, díky nimž je TestNG lepší než JUnit. Někteří z nich jsou:
- Pokročilé a snadné anotace
- Lze nastavit vzory provádění
- Souběžné provádění testovacích skriptů
- Lze nastavit závislosti testovacích případů
Před poznámkami předchází symbol „@“ v TestNG i JUnit.
Pojďme tedy začít s instalační a implementační částí.
Online mřížka pro automatizaci testů selenu
# 1) LambdaTest
Rámec TestNG se nejlépe využívá s cloudovým Selenium Gridem, jako je LambdaTest, který vám pomůže provádět paralelní testování na 2000+ reálných prohlížečích a operačních systémech, aniž byste museli udržovat vlastní Selenium Grid.
Můžete získat celou řadu protokolů, jako jsou protokoly příkazů, síťové protokoly, surové protokoly selenu, metadata atd., Spolu s úplným videozáznamem testovacího skriptu selenu pro ladění.
LambdaTest také nabízí integrace s více nástroji CI / CD, jako jsou Jenkins, Travis CI, CircleCI atd., Pro průběžné testování. LambdaTest také umožňuje integraci s mnoha nástroji pro správu projektů pro snadné protokolování chyb.
=> Navštivte web LambdaTestInstalace TestNG v Eclipse
Postupujte podle následujících kroků ke stažení a instalaci TestNG při zatmění:
Krok 1: Spusťte IDE zatmění -> V nabídce klikněte na možnost Nápověda -> v rozevírací nabídce vyberte možnost „Eclipse Marketplace ..“.
Krok 2: Do vyhledávacího textového pole zadejte klíčové slovo „TestNG“ a klikněte na tlačítko „Přejít“, jak je uvedeno níže.
Krok 3: Jakmile uživatel klikne na tlačítko „Přejít“, zobrazí se výsledky odpovídající vyhledávacímu řetězci. Nyní může uživatel kliknout na tlačítko Instalovat a nainstalovat TestNG.
Krok 4: Jakmile uživatel klikne na tlačítko Instalovat, zobrazí se uživateli okno s potvrzením instalace. Klikněte na tlačítko „Potvrdit“.
Krok 5: V dalším kroku vás aplikace vyzve k přijetí licence a poté na tlačítko „Dokončit“.
Krok 6: Instalace je zahájena nyní a postup lze sledovat následovně:
Doporučuje se restartovat naše zatmění, aby odráželo provedené změny.
Po restartu může uživatel ověřit instalaci TestNG přechodem na možnost „Předvolby“ z možnosti „Okno“ v řádku nabídek. Totéž viz následující obrázek.
(Klikněte na obrázek pro zvětšení)
Vytvoření ukázkového projektu TestNG
Začněme vytvořením projektu TestNG v IDE zatmění.
Krok 1: V nabídce klikněte na možnost Soubor -> Klikněte na Nový -> Vybrat projekt Java.
Krok 2: Zadejte název projektu jako „DemoTestNG“ a klikněte na tlačítko „Další“. Na závěr klikněte na tlačítko „Dokončit“ a váš projekt Java je připraven.
Krok 3: Dalším krokem je konfigurace knihovny TestNG do nově vytvořeného projektu Java. Stejně tak klikněte na kartu „Knihovny“ v části Konfigurovat cestu sestavení. Klikněte na „Přidat knihovnu“, jak je uvedeno níže.
Krok 4: Uživatel by byl vystaven dialogovým oknem, které by ho vyzvalo k výběru knihovny, která má být konfigurována. Vyberte TestNG a klikněte na tlačítko „Další“, jak je znázorněno níže na obrázku. Nakonec klikněte na tlačítko „Dokončit“.
TestNG je nyní přidán do projektu Java a požadované knihovny lze vidět v průzkumníku balíčků po rozšíření projektu.
Přidejte všechny stažené knihovny a nádoby selenu do cesty sestavení projektu, jak je znázorněno v předchozím kurzu.
Vytváření třídy TestNG
Nyní, když jsme provedli všechna základní nastavení, abychom mohli začít s vytvořením testovacího skriptu pomocí TestNG. Vytvořme ukázkový skript pomocí TestNG.
Krok 1: Rozbalte projekt „DemoTestNG“ a přejděte do složky „src“. Klikněte pravým tlačítkem na balíček „src“ a přejděte na Nový -> Jiné.
Krok 2: Rozbalte možnost TestNG, vyberte možnost třídy „TestNG“ a klikněte na tlačítko „Další“.
Krok 3: Poskytněte požadované podrobnosti následujícím způsobem. Zadejte složku Zdroj, název balíčku a název třídy TestNG a klikněte na tlačítko Dokončit. Jak je zřejmé z níže uvedeného obrázku, uživatel může také zkontrolovat různé notace TestNG, které by se projevily ve schématu testovací třídy. Poznámky o TestNG budou probrány později v této relaci.
Výše uvedená třída TestNG by byla vytvořena s výchozím schématem.
Nyní, když jsme vytvořili základní základ pro testovací skript TestNG, vložme nyní skutečný testovací kód. Používáme stejný kód, který jsme použili v předchozí relaci.
Scénář:
- Spusťte prohlížeč a otevřete „gmail.com“.
- Ověřte název stránky a vytiskněte výsledek ověření.
- Zadejte uživatelské jméno a heslo.
- Klikněte na tlačítko Přihlásit se.
- Zavřete webový prohlížeč.
Kód:
package TestNG; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.Test; public class DemoTestNG { public WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; @Test public void gmailLogin() { // launch the firefox browser and open the application url driver.get('https://gmail.com'); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); Assert.assertEquals(expectedTitle,actualTitle); // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); } }
Vysvětlení kódu s ohledem na TestNG
1) @Test - @Test je jedním z Anotace TestNG . Tato anotace umožňuje provádění programu vědět, že metoda komentovaná jako @Test je testovací metoda. Abychom mohli používat různé anotace TestNG, musíme importovat balíček “ import org.testng.annotations. * “.
dva) Při vytváření testovacích skriptů pomocí TestNG není potřeba metoda main (). Provádění programu se provádí na základě anotací.
3) V prohlášení jsme použili třídu Assert při porovnání očekávané a skutečné hodnoty. Třída Assert se používá k provádění různých ověření. Abychom mohli použít různá tvrzení, musíme importovat „ import org.testng.Assert “.
Provádění skriptu TestNG
Testovací skript TestNG lze spustit následujícím způsobem:
=> Klikněte pravým tlačítkem kamkoli uvnitř třídy v editoru nebo třídě Java v Průzkumníku balíků, vyberte možnost „Spustit jako“ a klikněte na „TestNG Test“.
Výsledek TestNG se zobrazí do dvou oken:
- Okno konzoly
- Okno s výsledkem TestNG
Okna s výsledky viz níže uvedená vysílání:
nejlepší aplikace ke stažení mp3 skladeb
(Klikněte na obrázek pro zvětšení)
Zprávy HTML
TestNG přichází s velkou schopností generování uživatelsky čitelných a srozumitelných zpráv HTML pro provádění testů. Tyto zprávy lze zobrazit v kterémkoli z prohlížečů a lze je také zobrazit pomocí podpory prohlížeče Eclipse zabudovaného do prohlížeče.
Chcete-li vygenerovat zprávu HTML, postupujte podle následujících kroků:
Krok 1: Spusťte nově vytvořenou třídu TestNG. Obnovte projekt obsahující třídu TestNG kliknutím pravým tlačítkem na něj a výběrem možnosti „Obnovit“.
Krok 2: Složka s názvem „test-výstup“ bude v projektu vygenerována na úrovni složky „src“. Rozbalte složku „test-output“ a otevřete ji v souboru „emailable-report.html“ pomocí prohlížeče Eclipse. Soubor HTML zobrazuje výsledek nedávného spuštění.
Krok 3: Zpráva HTML se otevře v prostředí zatmění. Viz obrázek níže.
Obnovte stránku a zobrazte výsledky nových spuštění, pokud existují.
Nastavení priority v TestNG
Úryvek kódu
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } }
Návod na kód
Pokud je testovací skript složen z více než jedné testovací metody, lze prioritu a sekvenci provádění nastavit pomocí anotace TestNG „@Test“ a nastavením hodnoty parametru „priorita“.
Ve výše uvedeném fragmentu kódu jsou všechny metody anotovány pomocí nápovědy @Test a priority jsou nastaveny na 0, 1 a 2. Tedy pořadí provádění, ve kterém by byly prováděny testovací metody, je:
- Metoda 1
- Metoda 2
- Metoda 3
Podpora anotací
V TestNG a JUnit existuje řada anotací. Jemný rozdíl spočívá v tom, že TestNG poskytuje JUnit několik dalších anotací.
Anotace TestNG
Následuje seznam nejužitečnějších a nejpříznivějších anotací v TestNG:
Anotace | Popis |
---|---|
@Po hodině | Anotace upozorní systém, že metoda komentovaná jako @AfterClass musí být provedena po provedení poslední testovací metody ve stejné testovací třídě |
@Test | Anotace upozorní systém, že metoda komentovaná jako @Test je testovací metodou |
@BeforeSuite | Anotace upozorní systém, že metoda anotovaná jako @BeforeSuite musí být provedena před provedením testů v celé sadě |
@AfterSuite | Anotace upozorní systém, že metoda komentovaná jako @AfterSuite musí být provedena po provedení testů v celé sadě |
@BeforeTest | Anotace upozorní systém, že metoda komentovaná jako @BeforeTest musí být provedena před provedením jakékoli testovací metody v rámci stejné testovací třídy |
@AfterTest | Anotace upozorní systém, že metoda komentovaná jako @AfterTest musí být provedena po provedení jakékoli testovací metody v rámci stejné testovací třídy |
@Před hodinou | Anotace upozorní systém, že metoda komentovaná jako @BeforeClass musí být provedena před provedením první testovací metody v rámci stejné testovací třídy |
@BeforeMethod | Anotace upozorní systém, že metoda komentovaná jako @BeforeMethod musí být provedena před provedením jakékoli testovací metody v rámci stejné testovací třídy |
@AfterMethod | Anotace upozorní systém, že metoda komentovaná jako @AfterMethod musí být provedena po provedení jakékoli testovací metody v rámci stejné testovací třídy |
@BeforeGroups | Anotace upozorní systém, že metoda komentovaná jako @BeforeGroups je konfigurační metoda, která obsahuje skupinu a která musí být provedena před provedením první testovací metody skupiny |
@AfterGroups | Anotace upozorňuje systém, že metoda komentovaná jako @AfterGroups je konfigurační metoda, která obsahuje skupinu a která musí být provedena po provedení poslední testovací metody skupiny |
Poznámka : Mnoho z výše uvedených anotací lze uplatnit také v rámci JUnit 3 a JUnit 4.
Závěr
Prostřednictvím tohoto tutoriálu jsme se pokusili seznámit vás s testovacím frameworkem založeným na Java s názvem TestNG. Začali jsme relací s instalací frameworku a přesunuli se k tvorbě skriptu a tématům. Diskutovali jsme o všech anotacích poskytovaných TestNG. Náš první testovací skript TestNG jsme implementovali a provedli pomocí anotací a tvrzení.
Shrnutí článku:
- TestNG je pokročilý rámec navržený tak, aby využil výhod jak vývojářů, tak testerů.
- TestNG je open source framework, který je distribuován pod softwarovou licencí Apache a je snadno dostupný ke stažení.
- TestNG je považován za lepší než JUnit kvůli jeho pokročilým funkcím.
- Vlastnosti TestNG
- Podpora anotací
- Pokročilá metodika provádění, která nevyžaduje vytvoření testovacích sad
- Podpora parametrizace
- Podpora testování na základě dat pomocí poskytovatelů dat
- Nastavení priorit provádění pro testovací metody
- Podporuje prostředí bezpečné při ohrožení při provádění více vláken
- Snadno podporuje integraci s různými nástroji a zásuvnými moduly, jako jsou nástroje pro vytváření (Ant, Maven atd.), Integrované vývojové prostředí (Eclipse).
- Usnadňuje uživateli efektivní prostředky generování zpráv pomocí ReportNG
- Výhody TestNG oproti JUnit
- Přidány pokročilé a snadné poznámky
- Lze nastavit vzory provádění
- Souběžné provádění testovacích skriptů
- Lze nastavit závislosti testovacích případů
- TestNG je volně dostupný a lze jej snadno nainstalovat do Eclipse IDE pomocí Eclipse Market.
- Po instalaci bude TestNG k dispozici jako knihovna v prostředí Eclipse.
- Vytvořte nový projekt Java a nakonfigurujte cestu sestavení pomocí knihovny TestNG.
- Vytvořte novou třídu TestNG rozšířením vytvořeného projektu TestNG a přejděte do složky „src“. Klikněte pravým tlačítkem na balíček „src“ a přejděte na Nový -> Jiné. Vyberte možnost třídy TestNG.
- @Test je jednou z anotací poskytovaných TestNG. Tato anotace umožňuje provádění programu vědět, že metoda komentovaná jako @Test je testovací metoda. Abychom mohli používat různé anotace TestNG, musíme importovat balíček “ import org.testng.annotations. * “.
- Při vytváření testovacích skriptů pomocí TestNG není potřeba metoda main ().
- Při porovnávání očekávané a skutečné hodnoty používáme třídu Assert. Třída Assert se používá k provádění různých ověření. Abychom mohli použít různá tvrzení, musíme importovat „ import org.testng.Assert “.
- Pokud je testovací skript složen z více než jedné testovací metody, lze prioritu a sekvenci provádění nastavit pomocí anotace TestNG „@Test“ a nastavením hodnoty parametru „priorita“.
- TestNG má schopnost generovat automaticky čitelné zprávy o provedení testu. Tyto zprávy lze zobrazit v kterémkoli z prohlížečů a lze je také zobrazit pomocí zabudované podpory prohlížeče Eclipse.
Další výuka č. 13 : Pokračováním v nadcházejících výukových programech v sérii Selenium bychom se soustředili na zpracování různých typů webových prvků dostupných na webových stránkách. Proto, v dalším tutoriálu bychom se soustředili na „rozbalovací nabídky“ a procvičili jsme jejich manipulační strategie. Diskutovali bychom také o třídě Select WebDriver a jejích metodách pro výběr hodnot v rozbalovacích nabídkách.
Poznámka pro čtenáře : Zatímco náš další výukový program řady Selenium je v režimu zpracování, čtenáři mohou začít vytvářet vlastní základní skripty WebDriver pomocí rámce TestNG.
Pro více pokročilých skriptů a konceptů zahrňte do svých tříd TestNG tolik poznámek a tvrzení a spusťte je pomocí prostředí TestNG. Analyzujte také zprávy HTML generované TestNG.
Doporučené čtení
- Jak používat Firebug pro vytváření skriptů selenu - výuka selenu č. 4
- Úvod do rámce JUnit a jeho použití v selenovém skriptu - výuka selenu č. 11
- Naučte se používat poznámky TestNG v selenu (s příklady)
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Jak najít prvky v prohlížečích Chrome a IE pro vytváření skriptů selenu - výuka selenu č. 7
- Vytváření rámce selenu a přístup k testovacím datům z aplikace Excel - Selenium Tutorial # 21
- Vytváření generik a testů - výuka selenu č. 22
- Výukové programy pro zatmění do hloubky pro začátečníky