TestNG kuulajad seleenis: ITestListener & ITestResult näide

Lang L: none (table-of-contents):

Anonim

Peakuulajaid on kaks.

  1. Veebidraiveri kuulajad
  2. TestNG kuulajad

Selles õpetuses arutame teemat Testng Listeners. Siit saate teada -

  • Mis on kuulajad TestNG-s?
  • Kuulajate tüübid TestNG-s
  • Testi stsenaarium:
  • TestNG kuulaja loomise sammud
  • Kuulaja kasutamine mitme klassi jaoks.

Mis on kuulajad TestNG-s?

Kuulaja on määratletud kui liides, mis muudab TestNG vaikekäitumist. Nagu nimigi ütleb, kuulajad seleeniskriptis määratletud sündmust "kuulavad" ja käituvad vastavalt. Seda kasutatakse seleenis, rakendades kuulajate liidese. See võimaldab kohandada TestNG aruandeid või logisid. Saadaval on mitut tüüpi TestNG kuulajaid.

Kuulajate tüübid TestNG-s

Kuulajaid on palju, mis võimaldab teil muuta TestNG käitumist.

Allpool on mõned TestNG kuulajad:

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

Liidese kohal nimetatakse TestNG kuulajaid. Neid liideseid kasutatakse seleenis logide loomiseks või TestNG aruannete kohandamiseks.

Selles õpetuses juurutame ITestListeneri.

ITestListeneril on järgmised meetodid

  • OnStart- OnStart-meetodit kutsutakse siis, kui mõni test algab.
  • onTestSuccess- onTestSuccess meetodit kasutatakse mis tahes testi õnnestumiseks.
  • OnTestFailure- onTestFailure meetodit kutsutakse mis tahes testi rikke korral.
  • onTestSkipped- onTestSkipped meetodit kutsutakse mis tahes testi vahelejätmisel.
  • meetodit onTestFailedButWithinSuccessPercentage kutsutakse iga kord, kui test ebaõnnestub, kuid on edukuse protsendi piires.
  • onFinish- onFinish meetod kutsutakse pärast kõigi testide sooritamist.

Testi stsenaarium:

Selle teststsenaariumi korral automatiseerime sisselogimisprotsessi ja juurutame ItestListeneri.

  1. Käivitage Firefox ja avage sait "http://demo.guru99.com/V4/"
  1. Logige rakendusse sisse.

TestNG kuulaja loomise sammud

Ülaltoodud teststsenaariumi jaoks rakendame kuulajat.

Samm 1) Looge klass "ListenerTest", mis rakendab rakendust "ITestListener". Liigutage hiir punase joone teksti kohal ja Eclipse soovitab teil 2 kiirparandust, nagu allpool ekraanil näidatud:

Klõpsake lihtsalt nuppu "Lisa rakendamata meetodid". Koodile lisatakse mitu rakendamata meetodit (ilma kehata). Kontrollige allpool-

pakett Kuulaja_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;avalik klass ListenerTest rakendab ITestListenerit{@Ülepublic void onFinish (ITestContext arg0) {// TODO Automaatselt loodud meetodi tüvi}@Ülepublic void onStart (ITestContext arg0) {// TODO Automaatselt loodud meetodi tüvi}@Ülepublic void onTestFailedButWithinSuccessPercentage (ITestResult arg0) {// TODO Automaatselt loodud meetodi tüvi}@Ülepublic void onTestFailure (ITestResult arg0) {// TODO Automaatselt loodud meetodi tüvi}@Ülepublic void onTestSkipped (ITestResult arg0) {// TODO Automaatselt loodud meetodi tüvi}@Ülepublic void onTestStart (ITestResult arg0) {// TODO Automaatselt loodud meetodi tüvi}@Ülepublic void onTestSuccess (ITestResult arg0) {// TODO Automaatselt loodud meetodi tüvi}}

Muutkem klassi 'ListenerTest'. Eelkõige muudame järgmisi meetodeid -

onTestFailure, onTestSkipped, onTestStart, onTestSuccess jne.

Muutmine on lihtne. Trükime lihtsalt testi nime.

Logid luuakse konsoolis. Kasutajal on lihtne mõista, milline test on läbimise, ebaõnnestumise ja vahelejätmise olek.

Pärast modifitseerimist näeb kood välja

pakett Kuulaja_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;avalik klass ListenerTest rakendab ITestListenerit{@Üleavalik void onFinish (ITestContext Result){}@Üleavalik void onStart (ITestContext Result){}@Ülepublic void onTestFailedButWithinSuccessPercentage (ITestResult Result){}// Kui testjuhtum nurjub, kutsutakse seda meetodit.@Ülepublic void onTestFailure (ITestResult Result){System.out.println ("Testkasti nimi nurjus: + Result.getName ());}// Kui testjuhtum jäetakse vahele, kutsutakse seda meetodit.@Ülepublic void onTestSkipped (ITestResult Result){System.out.println ("vahele jäetud testkasti nimi on: + Tulemus.getName ());}// Kui proovijuht alustatakse, kutsutakse seda meetodit.@Ülepublic void onTestStart (ITestResult Result){System.out.println (Result.getName () + "testjuhtum algas");}// Kui testjuhtum on läbitud, kutsutakse seda meetodit.@Ülepublic void onTestSuccess (ITestResult Result){System.out.println ("Läbitud testkasti nimi on: + Result.getName ());}}

Samm 2) Looge sisselogimisprotsessi automatiseerimiseks teine ​​klass "TestCases". Seleen käivitab selle 'TestCases' automaatselt sisselogimiseks.

pakett Kuulaja_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.Kuulajad;Impordi org.testng.annotations.Test;avaliku klassi TestCases {WebDriveri draiver = uus FirefoxDriver ();// Kuulajate kontrollimiseks läbimise test.@Testavalik tühine Sisselogimine (){driver.get ("http://demo.guru99.com/V4/");draiver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("parool")). sendKeys ("amUpenu");driver.findElement (By.name ("btnLogin")). klõpsake ();}// Kuulaja kinnitamiseks ebaõnnestus see test jõuliselt.@Testpublic void TestToFail (){System.out.println ("See meetod ebaõnnestumise testimiseks");Assert.assertTrue (vale);}}

Samm 3) Järgmisena rakendage see kuulaja meie tavalises projektiklassis, st "TestCases". Klassiga ühenduse loomiseks on kaks erinevat viisi.

Esimene võimalus on kasutada kuulajate märkusi (@Listeners), nagu allpool näidatud:

@Listeners (Listener_Demo.ListenerTest.class) 

Kasutame seda klassis "TestCases", nagu allpool näidatud.

Lõpuks näeb klass "TestCases" välja nagu pärast kuulaja märkuse kasutamist:

pakett Kuulaja_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.Kuulajad;import org.testng.annotations.Test;@Listeners (Listener_Demo.ListenerTest.class)avaliku klassi TestCases {WebDriveri draiver = uus FirefoxDriver ();// Kuulajate kontrollimiseks läbimise test.@Testavalik tühine Sisselogimine (){driver.get ("http://demo.guru99.com/V4/");draiver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("parool")). sendKeys ("amUpenu");driver.findElement (By.id ("")). klõpsake ();}// See katse kontrollitud kuulajana nurjus jõuliselt.@Testpublic void TestToFail (){System.out.println ("See meetod ebaõnnestumise testimiseks");Assert.assertTrue (vale);}}

Projekti struktuur näeb välja selline:

4. samm: käivitage klass "TestCases". Klassi "ListenerTest" meetodeid kutsutakse automaatselt vastavalt meetoditele, mis on märgitud kui @Test.

Samm 5): kontrollige konsoolis kuvatavat väljundit.

TestCases'i väljund näeb välja selline:

[TestNG] Jooksmine:C: \ Users \ gauravn \ AppData \ Local \ Temp \ testng-eclipse - 1058076918 \ testng-Customsuite.xmlSisselogimistesti juhtum algasLäbitud testkasti nimi on: Logi sisseTestToFaili testjuhtum algasSee meetod ebaõnnestumise testimiseksEbaõnnestunud testkasti nimi on: TestToFailMÖÖDUD: Logi sisseEbaõnnestus: TestToFailjava.lang.AssertionError: eeldatav [tõene], kuid leitud [vale] 

Kuulaja kasutamine mitme klassi jaoks.

Kui projektil on mitu klassi, võib kuulajate lisamine igasse klassi olla tülikas ja veaohtlik.

Sellistel juhtudel saame luua testng.xml ja lisada kuulajate märgendi XML-i.

Seda kuulajat rakendatakse kogu testipaketis, olenemata teie klasside arvust. Selle XML-faili käivitamisel töötavad kuulajad kõigi mainitud klassidega. Võite kuulutada ka suvalise arvu kuulajate klassi.

Kokkuvõte:

Kuulajad peavad seleeni veebidraiveris logisid genereerima või TestNG aruandeid kohandama.

  • Kuulajaid on palju ja neid saab kasutada vastavalt nõuetele.
  • Kuulajad on seleeni veebidraiveri skriptides kasutatavad liidesed
  • Näitas kuulaja kasutamist seleenis
  • Rakendas kuulajaid mitme klassi jaoks