TestNG hallgatók a szelénben: ITestListener & ITestResult példa

Tartalomjegyzék:

Anonim

Két fő hallgató van.

  1. WebDriver hallgatók
  2. TestNG hallgatók

Ebben az oktatóanyagban a Testng hallgatókról fogunk beszélgetni. Itt van, amit megtanulsz-

  • Mi a hallgatók a TestNG-ben?
  • Hallgatói típusok a TestNG-ben
  • Teszt forgatókönyv:
  • A TestNG figyelő létrehozásának lépései
  • A Listener használata több osztályban.

Mi a hallgatók a TestNG-ben?

A figyelő olyan interfész, amely módosítja az alapértelmezett TestNG viselkedését. Ahogy a neve is sugallja, a hallgatók "meghallgatják" a szelén forgatókönyvében meghatározott eseményt, és ennek megfelelően viselkednek. A szelénben a Listeners Interface megvalósításával használják. Ez lehetővé teszi a TestNG jelentések vagy naplók testreszabását. A TestNG hallgatóknak sokféle típusa áll rendelkezésre.

Hallgatói típusok a TestNG-ben

Sokféle hallgató létezik, amely lehetővé teszi a TestNG viselkedésének megváltoztatását.

Az alábbiakban bemutatjuk a TestNG néhány hallgatóját:

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

Az interfész felett TestNG hallgatóknak hívják. Ezeket az interfészeket a szelénben naplók létrehozására vagy a TestNG jelentések testreszabására használják.

Ebben az oktatóanyagban megvalósítjuk az ITestListener alkalmazást.

Az ITestListener a következő módszerekkel rendelkezik

  • OnStart- OnStart metódust hívunk meg, amikor bármely teszt elindul.
  • onTestSuccess- onTestSuccess metódust hívják meg bármely teszt sikerére.
  • onTestFailure- onTestFailure metódust hívnak meg bármelyik teszt meghibásodásakor.
  • Az onTestSkipped- onTestSkipped metódust bármelyik teszt kihagyva hívja meg.
  • Az onTestFailedButWithinSuccessPercentage metódust minden alkalommal meghívják, amikor a teszt sikertelen, de a siker százalékában van.
  • Az onFinish- onFinish metódust az összes teszt végrehajtása után hívják meg.

Teszt forgatókönyv:

Ebben a teszt forgatókönyvben automatizáljuk a bejelentkezési folyamatot és végrehajtjuk az 'ItestListener' programot.

  1. Indítsa el a Firefox böngészőt, és nyissa meg a "http://demo.guru99.com/V4/" webhelyet
  1. Jelentkezzen be az alkalmazásba.

A TestNG figyelő létrehozásának lépései

A fenti teszt forgatókönyv esetén megvalósítjuk a Hallgatót.

1. lépés: Hozzon létre egy „ListenerTest” osztályt, amely megvalósítja az „ITestListener” programot. Vigye az egeret a vörös vonalra, és az Eclipse két gyorsjavítást javasol Önnek, az alábbi képernyőn látható módon:

Csak kattintson a "Végrehajtatlan módszerek hozzáadása" gombra. Több végrehajtatlan módszer (törzs nélkül) hozzáadódik a kódhoz. Ellenőrizze alább-

csomag Listener_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;nyilvános osztály, a ListenerTest valósítja meg az ITestListener alkalmazást{@ Felülíráspublic void onFinish (ITestContext arg0) {// TODO Automatikusan létrehozott módszercsonk}@ Felülíráspublic void onStart (ITestContext arg0) {// TODO Automatikusan létrehozott módszercsonk}@ Felülíráspublic void onTestFailedButWithinSuccessPercentage (ITestResult arg0) {// TODO Automatikusan létrehozott módszercsonk}@ Felülíráspublic void onTestFailure (ITestResult arg0) {// TODO Automatikusan létrehozott módszercsonk}@ Felülíráspublic void onTestSkipped (ITestResult arg0) {// TODO Automatikusan létrehozott módszercsonk}@ Felülíráspublic void onTestStart (ITestResult arg0) {// TODO Automatikusan létrehozott módszercsonk}@ Felülíráspublic void onTestSuccess (ITestResult arg0) {// TODO Automatikusan létrehozott módszercsonk}}

Módosítsuk a 'ListenerTest' osztályt. Különösen a következő módszereket módosítjuk -

onTestFailure, onTestSkipped, onTestStart, onTestSuccess stb.

A módosítás egyszerű. Csak kinyomtatjuk a teszt nevét.

A naplók a konzolon jönnek létre. A felhasználó könnyen megértheti, melyik teszt a sikeres, a sikertelen és az átugrási állapot.

Módosítás után a kód úgy néz ki, mint

csomag Listener_Demo;import org.testng.ITestContext;import org.testng.ITestListener;import org.testng.ITestResult;nyilvános osztály, a ListenerTest valósítja meg az ITestListener alkalmazást{@ Felülíráspublic void onFinish (ITestContext Result){}@ Felülíráspublic void onStart (ITestContext Result){}@ Felülíráspublic void onTestFailedButWithinSuccessPercentage (ITestResult Result){}// Amikor a teszteset meghiúsul, ezt a módszert hívjuk meg.@ Felülíráspublic void onTestFailure (ITestResult Result){System.out.println ("A tesztház neve meghiúsult: + Result.getName ());}// Amikor a teszteset átugrásra kerül, ezt a módszert hívjuk meg.@ Felülíráspublic void onTestSkipped (ITestResult Result){System.out.println ("A kihagyott tesztház neve: + Eredmény.getNév ());}// A tesztesemény indításakor ezt a módszert hívjuk meg.@ Felülíráspublic void onTestStart (ITestResult Eredmény){System.out.println (Result.getName () + "teszteset elindult");}// A teszteset átadásakor ezt a módszert hívjuk meg.@ Felülíráspublic void onTestSuccess (ITestResult Eredmény){System.out.println ("Az átadott tesztház neve: + Result.getName ());}}

2. lépés: Hozzon létre egy másik "TestCases" osztályt a bejelentkezési folyamat automatizálásához. A szelén végrehajtja ezt a "TestCases" -et az automatikus bejelentkezéshez.

csomag 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.Figyelők;Import org.testng.annotations.Test;nyilvános osztály TestCases {WebDriver illesztőprogram = new FirefoxDriver ();// Teszt a hallgatók igazolásához.@Tesztpublic void Bejelentkezés (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("jelszó")). sendKeys ("amUpenu");driver.findElement (By.name ("btnLogin")). kattintson ();}// Erősen meghiúsult ez a teszt a hallgató ellenőrzése céljából.@Tesztpublic void TestToFail (){System.out.println ("Ez a módszer a sikertelenség tesztelésére");Assert.assertTrue (hamis);}}

3. lépés: Ezután vezesse be ezt a hallgatót a szokásos projekt osztályunkba, azaz a "TestCases" -be. Kétféleképpen lehet csatlakozni az osztályhoz és az interfészhez.

Az első módszer a Hallgatói jelölések (@Listeners) használata az alábbiak szerint:

@Listeners (Listener_Demo.ListenerTest.class) 

Ezt a "TestCases" osztályban használjuk, az alábbiak szerint.

Tehát végül a "TestCases" osztály úgy néz ki, mint miután a Hallgató kommentárokat használta:

csomag 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.Figyelők;import org.testng.annotations.Test;@Listeners (Listener_Demo.ListenerTest.class)nyilvános osztály TestCases {WebDriver illesztőprogram = new FirefoxDriver ();// Teszt a hallgatók igazolásához.@Tesztpublic void Bejelentkezés (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("jelszó")). sendKeys ("amUpenu");driver.findElement (By.id ("")). kattintson ();}// Erősen meghiúsult ez a teszt, mint ellenőrző hallgató.@Tesztpublic void TestToFail (){System.out.println ("Ez a módszer a sikertelenség tesztelésére");Assert.assertTrue (hamis);}}

A projekt felépítése a következőképpen néz ki:

4. lépés: Végezze el a "TestCases" osztályt. A "ListenerTest" osztályba tartozó módszereket automatikusan meghívjuk a @Test néven jegyzett módszerek viselkedése szerint.

5. lépés: Ellenőrizze a naplózandó kimenetet a konzolon.

A 'TestCases' kimenete a következőképpen fog kinézni:

[TestNG] Futás:C: \ Users \ gauravn \ AppData \ Local \ Temp \ testng-eclipse - 1058076918 \ testng-Customsuite.xmlElkezdődött a bejelentkezési tesztesetA teszt teszt neve: BejelentkezésA TestToFail teszteset elindultEz a módszer a sikertelenség teszteléséreA tesztház neve meghiúsult: TestToFailMEGTETT: BejelentkezésSIKERTELEN: TestToFailjava.lang.AssertionError: várható [igaz], de talált [hamis] 

A Listener használata több osztályban.

Ha a projektnek több osztálya van, akkor a hallgatók hozzáadása mindegyikhez nehézkes és hajlamos lehet.

Ilyen esetekben létrehozhatunk egy testng.xml fájlt, és hallgatói címkét adhatunk XML-be.

Ez a hallgató az egész tesztcsomagban megvalósításra kerül, függetlenül az Ön osztályainak számától. Az XML fájl futtatásakor a hallgatók az összes említett osztályon dolgoznak. Bármely számú hallgatói osztályt deklarálhat.

Összegzés:

A hallgatóknak naplót kell készíteniük, vagy testng jelentéseket kell testre szabniuk a Selenium Webdriver programban.

  • Sokféle hallgató létezik, és a követelményeknek megfelelően használható.
  • A hallgatók a szelén web-illesztőprogram szkriptjeiben használt interfészek
  • Bemutatta a Hallgató használatát a szelénben
  • A hallgatók több osztályban valósultak meg