Poslucháči TestNG v seléne: ITestListener & Príklad ITestResult

Obsah:

Anonim

Sú dvaja hlavní poslucháči.

  1. Poslucháči WebDriver
  2. Poslucháči TestNG

V tomto tutoriáli sa budeme zaoberať poslucháčmi Testng. Tu sa dozviete

  • Čo je poslucháč v TestNG?
  • Typy poslucháčov v TestNG
  • Scenár testu:
  • Kroky na vytvorenie poslucháča TestNG
  • Používanie poslucháča pre viac tried.

Čo je poslucháč v TestNG?

Poslucháč je definovaný ako rozhranie, ktoré upravuje predvolené správanie TestNG. Ako naznačuje názov, poslucháči „počúvajú“ udalosť definovanú v skripte selénu a podľa toho sa správajú. Používa sa v seléne implementáciou rozhrania Listeners Interface. Umožňuje prispôsobenie správ alebo protokolov TestNG. Existuje veľa typov poslucháčov TestNG.

Typy poslucháčov v TestNG

Existuje veľa typov poslucháčov, ktoré vám umožňujú zmeniť správanie TestNG.

Ďalej uvádzame niekoľko poslucháčov TestNG:

  1. IAnnotationTransformer,
  2. IAnnotationTransformer2,
  3. Konfigurovateľné,
  4. IConfigurationListener,
  5. IExecutionListener,
  6. IHokable,
  7. IInvokedMethodListener,
  8. IInvokedMethodListener2,
  9. IMethodInterceptor,
  10. IReporter,
  11. ISuiteListener,
  12. ITestListener.

Vyššie uvedené rozhranie sa nazýva TestNG Listeners. Tieto rozhrania sa používajú v seléne na generovanie protokolov alebo na prispôsobenie správ TestNG.

V tomto tutoriále budeme implementovať ITestListener.

ITestListener má nasledujúce metódy

  • OnStart - metóda OnStart sa volá, keď sa spustí ktorýkoľvek Test.
  • Metóda onTestSuccess - metóda onTestSuccess sa nazýva úspech každého Testu.
  • metóda onTestFailure - metóda onTestFailure sa volá pri zlyhaní ktoréhokoľvek Testu.
  • metóda onTestSkipped - metóda onTestSkipped sa volá pri preskočení ktoréhokoľvek Testu.
  • onTestFailedButWithinSuccessPercentage - metóda sa volá zakaždým, keď test zlyhá, ale je v percentách úspešnosti.
  • metóda onFinish - metóda onFinish sa volá po vykonaní všetkých testov.

Scenár testu:

V tomto testovacom scenári automatizujeme proces prihlásenia a implementujeme „ItestListener“.

  1. Spustite Firefox a otvorte web „http://demo.guru99.com/V4/“
  1. Prihláste sa do aplikácie.

Kroky na vytvorenie poslucháča TestNG

Pre vyššie uvedený testovací scenár budeme implementovať Listener.

Krok 1) Vytvorte triedu „ListenerTest“, ktorá implementuje „ITestListener“. Prejdite myšou nad text s redline textom a aplikácia Eclipse vám navrhne 2 rýchle opravy, ako je znázornené na nasledujúcej obrazovke:

Stačí kliknúť na „Pridať neimplementované metódy“. Do kódu je pridaných niekoľko neimplementovaných metód (bez tela). Skontrolujte nižšie-

balíček Listener_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;verejná trieda ListenerTest implementuje ITestListener{@ Overridepublic void onFinish (ITestContext arg0) {// TODO Automaticky generovaný pahýl metódy}@ Overridepublic void onStart (ITestContext arg0) {// TODO Automaticky generovaný pahýl metódy}@ Overridepublic void onTestFailedButWithinSuccessPercentage (ITestResult arg0) {// TODO Automaticky generovaný pahýl metódy}@ Overridepublic void onTestFailure (ITestResult arg0) {// TODO Automaticky generovaný pahýl metódy}@ Overridepublic void onTestSkipped (ITestResult arg0) {// TODO Automaticky generovaný pahýl metódy}@ Overridepublic void onTestStart (ITestResult arg0) {// TODO Automaticky generovaný pahýl metódy}@ Overridepublic void onTestSuccess (ITestResult arg0) {// TODO Automaticky generovaný pahýl metódy}}

Upravme triedu 'ListenerTest'. Upravíme najmä nasledujúce metódy -

onTestFailure, onTestSkipped, onTestStart, onTestSuccess atď.

Úprava je jednoduchá. Iba si vytlačíme názov Testu.

Denníky sa vytvárajú v konzole. Užívateľ ľahko pochopí, ktorý test je stav vyhovujúci, nevyhovujúci a preskočený.

Po úprave vyzerá kód ako -

balíček Listener_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;verejná trieda ListenerTest implementuje ITestListener{@ Overridepublic void onFinish (ITestContext Result){}@ Overridepublic void onStart (ITestContext Result){}@ Overridepublic void onTestFailedButWithinSuccessPercentage (ITestResult Result){}// Keď zlyhá testovací prípad, táto metóda sa volá.@ Overridepublic void onTestFailure (ITestResult Result){System.out.println ("Názov testovacej tabuľky zlyhal, je: + Result.getName ());}// Keď dôjde k preskočeniu Test case, táto metóda sa volá.@ Overridepublic void onTestSkipped (ITestResult Result){System.out.println ("Názov vynechanej testovacej skrinky je: + Result.getName ());}// Keď sa spustí testovací prípad, táto metóda sa volá.@ Overridepublic void onTestStart (ITestResult Result){System.out.println (Result.getName () + "testovací prípad spustený");}// Keď je testovací prípad schválený, táto metóda sa volá.@ Overridepublic void onTestSuccess (ITestResult Result){System.out.println ("Názov odovzdaného testovacieho prípadu je: + Result.getName ());}}

Krok 2) Vytvorte ďalšiu triedu „TestCases“ pre automatizáciu procesu prihlásenia. Selén vykoná tieto „testovacie prípady“, aby sa automaticky prihlásil.

balíček Listener_Demo;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Listeners;Importovať org.testng.annotations.Test;verejná trieda TestCases {Ovládač WebDriver = nový FirefoxDriver ();// Test na úspešné absolvovanie, aby sme overili poslucháčov.@Testpublic void Prihlásenie (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("heslo")). sendKeys ("amUpenu");driver.findElement (By.name ("btnLogin")). click ();}// Tento test násilne zlyhal, aby sa overil poslucháč.@Testpublic void TestToFail (){System.out.println ("Táto metóda na testovanie zlyhania");Assert.assertTrue (false);}}

Krok 3) Ďalej implementujte tohto poslucháča do našej bežnej triedy projektu, tj. „TestCases“. Existujú dva rôzne spôsoby pripojenia k triede a rozhraniu.

Prvým spôsobom je použiť anotáciu Listeners (@Listeners), ako je uvedené nižšie:

@Listeners (Listener_Demo.ListenerTest.class) 

Používame to v triede „TestCases“, ako je uvedené nižšie.

Takže konečne trieda „TestCases“ vyzerá po použití anotácie Listener:

balíček Listener_Demo;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Listeners;import org.testng.annotations.Test;@Listeners (Listener_Demo.ListenerTest.class)verejná trieda TestCases {Ovládač WebDriver = nový FirefoxDriver ();// Vyskúšajte na úspešné absolvovanie, aby ste overili poslucháčov.@Testpublic void Prihlásenie (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("heslo")). sendKeys ("amUpenu");driver.findElement (By.id ("")). click ();}// Tento test násilne zlyhal ako overenie poslucháča.@Testpublic void TestToFail (){System.out.println ("Táto metóda na testovanie zlyhania");Assert.assertTrue (false);}}

Štruktúra projektu vyzerá takto:

Krok 4): Vykonajte triedu „TestCases“. Metódy v triede „ListenerTest“ sa volajú automaticky podľa správania metód anotovaných ako @Test.

Krok 5): Skontrolujte výstup, ktorý sa protokoly zobrazuje na konzole.

Výstup 'TestCases' bude vyzerať takto:

[TestNG] Beží:C: \ Users \ gauravn \ AppData \ Local \ Temp \ testng-eclipse - 1058076918 \ testng-customsuite.xmlTestovací prípad prihlásenia bol spustenýNázov odovzdaného testovacieho prípadu je: PrihlásenieBol spustený testovací prípad TestToFailTáto metóda na testovanie zlyhalaNázov testovacej tabuľky zlyhal, je: TestToFailPASSED: PrihlásenieZlyhalo: TestToFailjava.lang.AssertionError: očakávaná [true], ale nájdená [false] 

Používanie poslucháča pre viac tried.

Ak má projekt viac tried, pridávanie poslucháčov do každej z nich môže byť ťažkopádne a náchylné na chyby.

V takýchto prípadoch môžeme vytvoriť testng.xml a pridať značku poslucháčov v XML.

Tento poslucháč je implementovaný v rámci celej testovacej sady bez ohľadu na počet tried, ktoré máte. Keď spustíte tento súbor XML, poslucháči budú pracovať na všetkých spomenutých triedach. Môžete tiež deklarovať ľubovoľný počet tried poslucháčov.

Zhrnutie:

Poslucháči sú povinní generovať protokoly alebo prispôsobovať správy TestNG v selenovom webovom ovládači.

  • Existuje veľa typov poslucháčov a je možné ich použiť podľa požiadaviek.
  • Poslucháči sú rozhrania používané v skripte webového ovládača selénu
  • Preukázané použitie poslucháča v seléne
  • Implementoval Listeners pre viac tried