TestNG klausītāji selēnā: ITestListener & ITestResult piemērs

Satura rādītājs:

Anonim

Ir divi galvenie klausītāji.

  1. WebDriver klausītāji
  2. TestNG klausītāji

Šajā apmācībā mēs apspriedīsim Testng klausītājus. Lūk, ko jūs uzzināsiet-

  • Kas ir TestNG klausītāji?
  • Klausītāju veidi TestNG
  • Testa scenārijs:
  • TestNG klausītāja izveidošanas darbības
  • Klausītāja izmantošana vairākām klasēm.

Kas ir TestNG klausītāji?

Klausītājs ir definēts kā interfeiss, kas maina TestNG noklusējuma uzvedību. Kā norāda nosaukums, klausītāji "klausās" selēna skriptā noteikto notikumu un attiecīgi izturas. To lieto selēnā, ieviešot klausītāju saskarni. Tas ļauj pielāgot TestNG pārskatus vai žurnālus. Ir pieejami daudzi TestNG klausītāju veidi.

Klausītāju veidi TestNG

Ir daudz veidu klausītāju, kas ļauj mainīt TestNG uzvedību.

Zemāk ir daži TestNG klausītāji:

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

Virs saskarnes tiek saukti par TestNG klausītājiem. Šīs saskarnes tiek izmantotas selenā, lai ģenerētu žurnālus vai pielāgotu TestNG atskaites.

Šajā apmācībā mēs ieviesīsim ITestListener.

ITestListener ir šādas metodes

  • OnStart - OnStart metode tiek izsaukta, kad sākas jebkura pārbaude.
  • onTestSuccess- onTestSuccess metode tiek izmantota jebkura testa sekmīgai darbībai.
  • onTestFailure- onTestFailure metodi sauc par jebkura testa neveiksmi.
  • onTestSkipped- onTestSkipped metode tiek izsaukta, izlaižot jebkuru testu.
  • onTestFailedButWithinSuccessPercentage- metode tiek izsaukta katru reizi, kad pārbaude neizdodas, bet ir panākumu procentuālā robeža .
  • onFinish- onFinish metode tiek izsaukta pēc visu testu izpildes.

Testa scenārijs:

Šajā testa scenārijā mēs automatizēsim pieteikšanās procesu un ieviesīsim 'ItestListener'.

  1. Palaidiet Firefox un atveriet vietni "http://demo.guru99.com/V4/"
  1. Piesakieties pieteikumā.

TestNG klausītāja izveidošanas darbības

Iepriekšminētajam testa scenārijam mēs ieviesīsim klausītāju.

1. solis) Izveidojiet klasi “ListenerTest”, kas īsteno “ITestListener”. Pārvietojiet peles kursoru virs sarkanās līnijas teksta, un Eclipse jums ieteiks 2 ātrus labojumus, kā parādīts zemāk esošajā ekrānā:

Vienkārši noklikšķiniet uz "Pievienot neīstenotas metodes". Kodam tiek pievienotas vairākas neīstenotas metodes (bez pamatteksta). Pārbaudiet zemāk-

pakete Listener_Demo;importēt org.testng.ITestContext;importēt org.testng.ITestListener;importēt org.testng.ITestResult;publiskā klase ListenerTest īsteno ITestListener{@ Pārvarētpublic void onFinish (ITestContext arg0) {// TODO Automātiski ģenerētās metodes spraudnis}@ Pārvarētpublic void onStart (ITestContext arg0) {// TODO Automātiski ģenerētās metodes spraudnis}@ Pārvarētpublic void onTestFailedButWithinSuccessPercentage (ITestResult arg0) {// TODO Automātiski ģenerētās metodes spraudnis}@ Pārvarētpublic void onTestFailure (ITestResult arg0) {// TODO Automātiski ģenerētās metodes spraudnis}@ Pārvarētpublic void onTestSkipped (ITestResult arg0) {// TODO Automātiski ģenerētās metodes spraudnis}@ Pārvarētpublic void onTestStart (ITestResult arg0) {// TODO Automātiski ģenerētās metodes spraudnis}@ Pārvarētpublic void onTestSuccess (ITestResult arg0) {// TODO Automātiski ģenerētās metodes spraudnis}}

Pārveidosim klasi 'ListenerTest'. Jo īpaši mēs mainīsim šādas metodes -

onTestFailure, onTestSkipped, onTestStart, onTestSuccess utt.

Modifikācija ir vienkārša. Mēs vienkārši izdrukājam testa nosaukumu.

Žurnāli tiek izveidoti konsolē. Lietotājam ir viegli saprast, kurš tests ir nokārtots, neizdevies un izlaists.

Pēc modifikācijas kods izskatās

pakete Listener_Demo;importēt org.testng.ITestContext;importēt org.testng.ITestListener;importēt org.testng.ITestResult;publiskā klase ListenerTest īsteno ITestListener{@ Pārvarētpublic void onFinish (ITestContext rezultāts){}@ Pārvarētpublic void onStart (ITestContext Result){}@ Pārvarētpublic void onTestFailedButWithinSuccessPercentage (ITestResult Result){}// Kad testa gadījums neizdevās, tiek izsaukta šī metode.@ Pārvarētpublic void onTestFailure (ITestResult Result){System.out.println ("Testcase nosaukums neizdevās: + Result.getName ());}// Kad testa lieta tiek izlaista, tiek izsaukta šī metode.@ Pārvarētpublic void onTestSkipped (ITestResult Result){System.out.println ("Izlaista testa lauka nosaukums ir: + Result.getName ());}// Kad sākas testa gadījums, tiek izsaukta šī metode.@ Pārvarētpublic void onTestStart (ITestResult Result){System.out.println (Result.getName () + "testa lieta sākta");}// Kad testa lieta tiek nokārtota, tiek saukta šī metode.@ Pārvarētpublic void onTestSuccess (ITestResult Result){System.out.println ("Iznestā testa lauka nosaukums ir: + Result.getName ());}}

2. solis) Izveidojiet citu klasi "TestCases" pieteikšanās procesa automatizēšanai. Selēns izpildīs šo “TestCases”, lai automātiski pieteiktos.

pakete Listener_Demo;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.firefox.FirefoxDriver;importēt org.testng.Assert;importēt org.testng.annotations.Klausītāji;Importēt org.testng.annotations.Test;publiskās klases TestCases {WebDriver draiveris = jauns FirefoxDriver ();// Pārbaudiet, vai nokārtot klausītājus.@Pārbaudepublic void Pieteikšanās (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("parole")). sendKeys ("amUpenu");driver.findElement (By.name ("btnLogin")). noklikšķiniet ();}// Ar pārbaudi pārliecinoši neizdevās pārbaudīt klausītāju.@Pārbaudepublic void TestToFail (){System.out.println ("Šī kļūmes pārbaudes metode");Assert.assertTrue (nepatiesa);}}

3. solis. Pēc tam ievietojiet šo klausītāju mūsu parastajā projektu klasē, ti, "TestCases". Ir divi dažādi veidi, kā izveidot savienojumu ar klasi un saskarni.

Pirmais veids ir izmantot klausītāju anotāciju (@Listeners), kā parādīts zemāk:

@Listeners (Listener_Demo.ListenerTest.class) 

Mēs to izmantojam klasē "TestCases", kā parādīts zemāk.

Tātad beidzot klase "TestCases" izskatās pēc klausītāja anotācijas izmantošanas:

pakete Listener_Demo;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.firefox.FirefoxDriver;importēt org.testng.Assert;importēt org.testng.annotations.Klausītāji;importēt org.testng.annotations.Test;@Listeners (Listener_Demo.ListenerTest.class)publiskās klases TestCases {WebDriver draiveris = jauns FirefoxDriver ();// Pārbaudiet, vai nokārtot klausītājus.@Pārbaudepublic void Pieteikšanās (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("parole")). sendKeys ("amUpenu");driver.findElement (By.id ("")). noklikšķiniet ();}// Ar pārbaudi klausītājs pārliecinoši neizdevās.@Pārbaudepublic void TestToFail (){System.out.println ("Šī kļūmes pārbaudes metode");Assert.assertTrue (nepatiesa);}}

Projekta struktūra izskatās šādi:

4. solis): izpildiet klasi "TestCases". Metodes klasē "ListenerTest" tiek izsauktas automātiski saskaņā ar metožu uzvedību, kas anotētas kā @Test.

5. solis): Pārbaudiet izvadi, kas tiek reģistrēta konsolē.

“TestCases” iznākums izskatīsies šādi:

[TestNG] Skriešana:C: \ Users \ gauravn \ AppData \ Local \ Temp \ testng-eclipse - 1058076918 \ testng-Customsuite.xmlSākusies pieteikšanās testa lietaIzietā testa nosaukums ir šāds: PieteikšanāsTestToFail testa lieta sākāsŠī metode, lai pārbaudītu, neizdodasNeizdevās testcase nosaukums ir: TestToFailPĀRTRAUKTS: PiesakietiesNeveiksmīgs: TestToFailjava.lang.AssertionError: paredzams [true], bet atrasts [false] 

Klausītāja izmantošana vairākām klasēm.

Ja projektam ir vairākas klases, klausītāju pievienošana katrai no tām varētu būt apgrūtinoša un pakļauta kļūdām.

Šādos gadījumos mēs varam izveidot testng.xml un pievienot klausītāju tagu XML.

Šis klausītājs tiek ieviests visā testa komplektā neatkarīgi no jūsu nodarbību skaita. Palaižot šo XML failu, klausītāji strādās pie visām minētajām klasēm. Varat arī deklarēt jebkuru klausītāju klases skaitu.

Kopsavilkums:

Klausītājiem ir jāizveido žurnāli vai jāpielāgo TestNG ziņojumi Selenium Webdriver.

  • Ir daudz veidu klausītāju, un tos var izmantot atbilstoši prasībām.
  • Klausītāji ir saskarnes, kas tiek izmantotas selēna tīmekļa draivera skriptā
  • Demonstrēja klausītāja izmantošanu selēnā
  • Īstenoja klausītājus vairākām klasēm