Kuuntelijoita on kaksi.
- WebDriver-kuuntelijat
- TestNG-kuuntelijat
Tässä opetusohjelmassa keskustelemme Testng-kuuntelijoista. Tässä on mitä opit-
- Mitä kuuntelijat ovat TestNG: ssä?
- Kuuntelijoiden tyypit TestNG: ssä
- Testiskenaario:
- TestNG-kuuntelijan luomisen vaiheet
- Kuuntelijan käyttö useille luokille.
Mitä kuuntelijat ovat TestNG: ssä?
Kuuntelija määritellään käyttöliittymäksi, joka muuttaa TestNG: n oletuskäyttäytymistä. Kuten nimestä voi päätellä, Kuuntelijat "kuuntelevat" seleenikirjoituksessa määriteltyä tapahtumaa ja käyttäytyvät sen mukaisesti. Sitä käytetään seleenissä toteuttamalla Listeners Interface. Se mahdollistaa TestNG-raporttien tai lokien mukauttamisen. TestNG-kuuntelijoita on monenlaisia.
Kuuntelijoiden tyypit TestNG: ssä
Kuuntelijoita on monenlaisia, joiden avulla voit muuttaa TestNG: n käyttäytymistä.
Alla on muutama TestNG-kuuntelija:
- IAnnotationTransformer,
- IAnnotationTransformer2,
- IConfigurable,
- IConfigurationListener,
- IExecutionListener,
- IHookable,
- IInvokedMethodListener,
- IInvokedMethodListener2,
- IMethodInterceptor,
- IReporter,
- ISuiteListener,
- ITestListener.
Liitännän yläpuolella kutsutaan TestNG-kuuntelijoiksi. Näitä rajapintoja käytetään seleenissä lokien luomiseen tai TestNG-raporttien mukauttamiseen.
Tässä opetusohjelmassa toteutamme ITestListenerin.
ITestListenerillä on seuraavat menetelmät
- OnStart- OnStart-menetelmä kutsutaan, kun mikä tahansa testi alkaa.
- onTestSuccess- onTestSuccess -menetelmää käytetään minkä tahansa testin onnistumiseen.
- onTestFailure- onTestFailure-menetelmä kutsutaan minkä tahansa testin epäonnistumiseen.
- onTestSkipped- onTestSkipped- menetelmä kutsutaan minkä tahansa testin ohitettuna.
- onTestFailedButWithinSuccessPercentage- menetelmä kutsutaan joka kerta, kun testi epäonnistuu, mutta on onnistumisprosentin sisällä.
- onFinish- onFinish-menetelmä kutsutaan kaikkien testien suorittamisen jälkeen.
Testiskenaario:
Tässä testiskenaariossa automatisoimme kirjautumisprosessin ja toteutamme ItestListenerin.
- Käynnistä Firefox ja avaa sivusto "http://demo.guru99.com/V4/"
- Kirjaudu sovellukseen.
TestNG-kuuntelijan luomisen vaiheet
Yllä olevassa testiskenaariossa otamme käyttöön kuuntelijan.
Vaihe 1) Luo luokka "ListenerTest", joka toteuttaa "ITestListener". Siirrä hiiri punaisen tekstin päälle, ja Eclipse ehdottaa sinulle kahta pikakorjausta alla olevan näytön mukaisesti:
Napsauta vain "Lisää toteuttamattomia menetelmiä". Koodiin lisätään useita toteuttamattomia menetelmiä (ilman runkoa). Tarkista alla-
paketti Listener_Demo;tuo org.testng.ITestContext;tuo org.testng.ITestListener;tuo org.testng.ITestResult;public class ListenerTest toteuttaa ITestListenerin{@Ohittaapublic void onFinish (ITestContext arg0) {// TODO Automaattisesti luotu menetelmän tynkä}@Ohittaapublic void onStart (ITestContext arg0) {// TODO Automaattisesti luotu menetelmän tynkä}@Ohittaapublic void onTestFailedButWithinSuccessPercentage (ITestResult arg0) {// TODO Automaattisesti luotu menetelmän tynkä}@Ohittaapublic void onTestFailure (ITestResult arg0) {// TODO Automaattisesti luotu menetelmän tynkä}@Ohittaapublic void onTestSkipped (ITestResult arg0) {// TODO Automaattisesti luotu menetelmän tynkä}@Ohittaapublic void onTestStart (ITestResult arg0) {// TODO Automaattisesti luotu menetelmän tynkä}@Ohittaapublic void onTestSuccess (ITestResult arg0) {// TODO Automaattisesti luotu menetelmän tynkä}}
Muutetaan 'ListenerTest' -luokkaa. Erityisesti muokkaamme seuraavia menetelmiä -
onTestFailure, onTestSkipped, onTestStart, onTestSuccess jne.
Muutos on yksinkertainen. Tulostamme vain testin nimen.
Lokit luodaan konsoliin. Käyttäjän on helppo ymmärtää, mikä testi on hyväksytty, hylätty ja ohitettu.
Muutoksen jälkeen koodi näyttää-
paketti Listener_Demo;tuo org.testng.ITestContext;tuo org.testng.ITestListener;tuo org.testng.ITestResult;public class ListenerTest toteuttaa ITestListenerin{@Ohittaapublic void onFinish (ITestContext-tulos){}@Ohittaapublic void onStart (ITestContext-tulos){}@Ohittaapublic void onTestFailedButWithinSuccessPercentage (ITestResult Result){}// Kun testitapaus epäonnistuu, tätä menetelmää kutsutaan.@Ohittaapublic void onTestFailure (ITestResult-tulos){System.out.println ("Testikappaleen nimi epäonnistui: + Tulos.getName ());}// Kun testitapaus ohitetaan, tätä menetelmää kutsutaan.@Ohittaapublic void onTestSkipped (ITestResult-tulos){System.out.println ("Ohitetun testikappaleen nimi on: + Tulos.getName ());}// Kun testitapaukset aloitetaan, tätä menetelmää kutsutaan.@Ohittaapublic void onTestStart (ITestResult-tulos){System.out.println (Tulos.getName () + "testitapaus aloitettu");}// Kun testitapaus hyväksytään, tätä menetelmää kutsutaan.@Ohittaapublic void onTestSuccess (ITestResult-tulos){System.out.println ("Läpäistyn testikappaleen nimi on: + Tulos.getName ());}}
Vaihe 2) Luo toinen luokka "TestCases" kirjautumisprosessin automatisointia varten. Selenium suorittaa tämän "TestCases" -kirjautumisen automaattisesti.
paketti Listener_Demo;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuo org.testng.Assert;Tuo org.testng.annotations.Kuuntelijat;Tuo org.testng.annotations.Test;julkisen luokan TestCases {WebDriver-ohjain = uusi FirefoxDriver ();// Testi läpäistäväksi vahvistamaan kuuntelijat.@Testatapublic void Kirjaudu (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("salasana")). sendKeys ("amUpenu");driver.findElement (By.name ("btnLogin")). napsauta ();}// Kuuntelijan vahvistaminen epäonnistui pakolla.@Testatapublic void TestToFail (){System.out.println ("Tämä menetelmä epäonnistumisen testaamiseksi");Assert.assertTrue (väärä);}}
Vaihe 3) Ota sitten tämä kuuntelija käyttöön tavallisessa projektiluokassamme eli "TestCases". On kaksi eri tapaa muodostaa yhteys luokkaan ja käyttöliittymään.
Ensimmäinen tapa on käyttää Kuuntelijoiden merkintöjä (@Listeners) alla esitetyllä tavalla:
@Listeners (Listener_Demo.ListenerTest.class)
Käytämme tätä luokassa "TestCases", kuten alla on esitetty.
Joten lopuksi luokka "TestCases" näyttää kuuntelijan merkinnän käyttämisen jälkeen:
paketti Listener_Demo;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuo org.testng.Assert;Tuo org.testng.annotations.Kuuntelijat;tuo org.testng.annotations.Test;@Listeners (Listener_Demo.ListenerTest.class)julkisen luokan TestCases {WebDriver-ohjain = uusi FirefoxDriver ();// Testi läpäistäväksi vahvistamaan kuuntelijat.@Testatapublic void Kirjaudu (){driver.get ("http://demo.guru99.com/V4/");driver.findElement (By.name ("uid")). sendKeys ("mngr34926");driver.findElement (By.name ("salasana")). sendKeys ("amUpenu");driver.findElement (By.id ("")). napsauta ();}// epäonnistui pakollisesti tässä testissä kuuntelijana.@Testatapublic void TestToFail (){System.out.println ("Tämä menetelmä epäonnistumisen testaamiseksi");Assert.assertTrue (väärä);}}
Projektirakenne näyttää tältä:
Vaihe 4): Suorita "TestCases" -luokka. Luokan "ListenerTest" menetelmiä kutsutaan automaattisesti @Test-merkinnällä merkittyjen menetelmien käyttäytymisen mukaan.
Vaihe 5): Tarkista, että lokissa näkyvä tulostus näkyy konsolissa.
TestCases-tulos näyttää tältä:
[TestNG] Juoksu:C: \ Users \ gauravn \ AppData \ Local \ Temp \ testng-eclipse - 1058076918 \ testng-Customsuite.xmlKirjautumistesti aloitettuHyväksytyn testikotelon nimi on: KirjauduTestToFail-testitapaus aloitettiinTämä menetelmä epäonnistumisen testaamiseksiTestaajan nimi epäonnistui: TestToFailYLITETTY: KirjauduVIKA: TestToFailjava.lang.AssertionError: odotettu [tosi], mutta löydetty [väärä]
Kuuntelijan käyttö useille luokille.
Jos projektissa on useita luokkia, kuuntelijoiden lisääminen kuhunkin niistä voi olla hankalaa ja virhealtista.
Tällaisissa tapauksissa voimme luoda testng.xml ja lisätä kuuntelijatunnisteen XML: ään.
Tämä kuuntelija toteutetaan koko testipaketissa riippumatta siitä, kuinka monta luokkaa sinulla on. Kun suoritat tämän XML-tiedoston, kuuntelijat työskentelevät kaikissa mainituissa luokissa. Voit myös ilmoittaa minkä tahansa määrän kuunteluluokkia.
Yhteenveto:
Kuuntelijoiden on luotava lokeja tai mukautettava TestNG-raportteja Selenium Webdriverissa.
- Kuuntelijoita on monenlaisia, ja niitä voidaan käyttää vaatimusten mukaisesti.
- Kuuntelijat ovat käyttöliittymiä, joita käytetään seleeni-web-ohjainkoodeissa
- Osoitettiin kuuntelijan käyttöä seleenissä
- Toteutti kuuntelijat useille luokille