Poslušalci TestNG v selenu: ITestListener & Primer ITestResult

Kazalo:

Anonim

Dva glavna poslušalca sta.

  1. Poslušalci WebDriver
  2. Poslušalci TestNG

V tej vadnici bomo razpravljali o poslušalcih Testng. Tukaj se boste naučili-

  • Kaj so poslušalci v programu TestNG?
  • Vrste poslušalcev v programu TestNG
  • Testni scenarij:
  • Koraki za ustvarjanje poslušalca TestNG
  • Uporaba poslušalca za več razredov.

Kaj so poslušalci v programu TestNG?

Poslušalec je definiran kot vmesnik, ki spreminja privzeto vedenje TestNG. Kot že ime pove, poslušalci "poslušajo" dogodek, opredeljen v skriptu selena, in se obnašajo ustrezno. V selenu se uporablja z uporabo vmesnika za poslušalce. Omogoča prilagajanje poročil ali dnevnikov TestNG. Na voljo je veliko vrst poslušalcev TestNG.

Vrste poslušalcev v programu TestNG

Obstaja veliko vrst poslušalcev, ki vam omogočajo spreminjanje vedenja TestNG.

Spodaj je nekaj poslušalcev TestNG:

  1. IAnnotationTransformer,
  2. IAnnotationTransformer2,
  3. Ikonfigurabilno,
  4. IConfigurationListener,
  5. IExecutionListener,
  6. IHookable,
  7. IInvokedMethodListener,
  8. IInvokedMethodListener2,
  9. IMethodInterceptor,
  10. IReporter,
  11. ISuiteListener,
  12. ITestListener.

Nad vmesniki se imenujejo poslušalci TestNG. Ti vmesniki se v selenu uporabljajo za ustvarjanje dnevnikov ali prilagajanje poročil TestNG.

V tej vadnici bomo uvedli ITestListener.

ITestListener ima naslednje metode

  • OnStart - metoda OnStart se prikliče, ko se začne kateri koli test.
  • onTestSuccess- metoda onTestSuccess se zahteva za uspeh katerega koli testa.
  • onTestFailure- metoda onTestFailure se pokliče ob neuspehu katerega koli preizkusa.
  • onTestSkipped- metoda onTestSkipped se pri preskusu preskusi.
  • onTestFailedButWithinSuccessPercentage - metoda se pokliče vsakič, ko test ne uspe, vendar je znotraj odstotka uspeha.
  • onFinish- metoda onFinish se pokliče po izvedbi vseh testov.

Testni scenarij:

V tem testnem scenariju bomo avtomatizirali postopek prijave in izvedli 'ItestListener'.

  1. Zaženite Firefox in odprite spletno mesto "http://demo.guru99.com/V4/"
  1. Prijavite se v aplikacijo.

Koraki za ustvarjanje poslušalca TestNG

Za zgornji testni scenarij bomo uvedli poslušalca.

Korak 1) Ustvarite razred "ListenerTest", ki izvaja "ITestListener". Premaknite miško nad besedilo rdeče črte in Eclipse vam bo predlagal 2 hitri popravki, kot je prikazano na spodnjem zaslonu:

Samo kliknite na "Dodaj neizvedene metode". Kodi se doda več neizvedenih metod (brez telesa). Preverite spodaj-

paket Listener_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;javni razred ListenerTest izvaja ITestListener{@Overridejavna praznina onFinish (ITestContext arg0) {// TODO Samodejno ustvarjena škrbina metode}@Overridejavna praznina onStart (ITestContext arg0) {// TODO Samodejno ustvarjena škrbina metode}@Overridejavna praznina onTestFailedButWithinSuccessPercentage (ITestResult arg0) {// TODO Samodejno ustvarjena škrbina metode}@Overridejavna praznina onTestFailure (ITestResult arg0) {// TODO Samodejno ustvarjena škrbina metode}@Overridejavna praznina onTestSkipped (ITestResult arg0) {// TODO Samodejno ustvarjena škrbina metode}@Overridejavna praznina onTestStart (ITestResult arg0) {// TODO Samodejno ustvarjena škrbina metode}@Overridejavna praznina onTestSuccess (ITestResult arg0) {// TODO Samodejno ustvarjena škrbina metode}}

Spremenimo razred 'ListenerTest'. Spremenili bomo zlasti naslednje metode -

onTestFailure, onTestSkipped, onTestStart, onTestSuccess itd.

Sprememba je preprosta. Samo natisnemo ime testa.

V konzoli se ustvarijo dnevniki. Uporabnik je enostavno razumeti, kateri test je status »pass, fail« in »preskoči«.

Po spremembi je koda videti kot -

paket Listener_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;javni razred ListenerTest izvaja ITestListener{@Overridejavna praznina onFinish (rezultat ITestContext){}@Overridejavna praznina onStart (rezultat ITestContext){}@Overridejavna praznina naTestFailedButWithinSuccessPercentage (rezultat ITestResult){}// Ko testni primer ne uspe, se ta metoda pokliče.@Overridejavna praznina onTestFailure (rezultat ITestResult){System.out.println ("Ime testnega primera ni uspelo: + Result.getName ());}// Ko preskočimo testni primer, se ta metoda pokliče.@Overridejavna praznina onTestSkipped (rezultat ITestResult){System.out.println ("Ime preskočenega testnega primera je: + Result.getName ());}// Ko se testni primer začne, se ta metoda pokliče.@Overridejavna praznina onTestStart (rezultat ITestResult){System.out.println (Result.getName () + "testni primer se je začel");}// Ko se testni primer opravi, se ta metoda pokliče.@Overridejavna praznina onTestSuccess (rezultat ITestResult){System.out.println ("Ime opravljenega testnega primera je: + Result.getName ());}}

Korak 2) Ustvarite nov razred "TestCases" za avtomatizacijo procesa prijave. Selenium bo izvedel to "TestCases" za samodejno prijavo.

paket Listener_Demo;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Listeners;Uvozi org.testng.annotations.Test;javni razred TestCases {Gonilnik WebDriver = novi FirefoxDriver ();// Preizkus za uspešno preverjanje poslušalcev.@Testjavna praznina Prijava (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("geslo")). sendKeys ("amUpenu");driver.findElement (By.name ("btnLogin")). click ();}// Ta preizkus ni bil silovito neuspešen zaradi preverjanja poslušalca.@Testjavna praznina TestToFail (){System.out.println ("Ta metoda za preizkus ni uspela");Assert.assertTrue (false);}}

Korak 3) Nato vstavite ta poslušalec v naš redni projektni razred, tj. Obstajata dva različna načina za povezavo z razredom in vmesnikom.

Prvi način je uporaba opombe poslušalcev (@Listeners), kot je prikazano spodaj:

@Listeners (Listener_Demo.ListenerTest.class) 

To uporabljamo v razredu "TestCases", kot je prikazano spodaj.

Torej je razred "TestCases" videti po uporabi opombe poslušalca:

paket Listener_Demo;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Listeners;import org.testng.annotations.Test;@Listeners (Listener_Demo.ListenerTest.class)javni razred TestCases {Gonilnik WebDriver = novi FirefoxDriver ();// Preizkus za uspešno preverjanje poslušalcev.@Testjavna praznina Prijava (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("geslo")). sendKeys ("amUpenu");driver.findElement (By.id ("")). click ();}// Ta preizkus je bil silovito neuspešen kot preverjanje poslušalca.@Testjavna praznina TestToFail (){System.out.println ("Ta metoda za preizkus ni uspela");Assert.assertTrue (false);}}

Struktura projekta je videti tako:

4. korak: Izvedite razred "TestCases". Metode v razredu "ListenerTest" se samodejno pokličejo glede na vedenje metod, označenih z @Test.

5. korak: Preverite izhod, ki se prikaže na konzoli.

Rezultat "TestCases" bo videti tako:

[TestNG] Tek:C: \ Users \ gauravn \ AppData \ Local \ Temp \ testng-eclipse - 1058076918 \ testng-customsuite.xmlTestni primer prijave se je začelIme opravljenega testnega primera je: PrijavaZačel se je testni primer TestToFailTa metoda za preizkus ni uspelaIme testnega primera ni uspelo: TestToFailMENJENO: PrijavaFAILED: TestToFailjava.lang.AssertionError: pričakovano [true], vendar najdeno [false] 

Uporaba poslušalca za več razredov.

Če ima projekt več razredov, je dodajanje poslušalcev vsakemu od njih lahko okorno in nagnjeno k napakam.

V takih primerih lahko ustvarimo testng.xml in dodamo oznako poslušalcev v XML.

Ta poslušalec se izvaja v celotnem testnem paketu, ne glede na število predavanj, ki jih imate. Ko zaženete to datoteko XML, bodo poslušalci delali na vseh omenjenih razredih. Prav tako lahko prijavite poljubno število predavalcev.

Povzetek:

Poslušalci morajo ustvariti dnevnike ali prilagoditi poročila TestNG v programu Selenium Webdriver.

  • Poslušalcev je veliko in jih je mogoče uporabiti v skladu z zahtevami.
  • Poslušalci so vmesniki, ki se uporabljajo v skriptu spletnega gonilnika selena
  • Predstavljena uporaba poslušalca v selenu
  • Izvajali poslušalce za več razredov