Selenium WebDriver: TestNG testitapausten hallintaa ja raporttien luomista varten



Tämä Selenium WebDriver -opetusohjelma auttaa sinua ymmärtämään tarpeen käyttää TestNG: tä Seleniumin kanssa testitapausten hallintaan ja yksityiskohtaisten testiraporttien luomiseen.

Edellisessä blogissa opetin sinulle ensimmäisen Selenium WebDriver -testin suorittamisen. Tässä blogissa käsittelen edistyneitä Selenium WebDriver -konsepteja. Olen jo maininnut useita kertoja, että Selenium WebDriverilla on rajoituksia testitapausten hallintaan ja testiraporttien luomiseen. Joten mikä on vaihtoehto? Niin suositussa työkalussa kuin seleeni on ehdottomasti oltava kiertotapa? Tietysti tekee! Voimme käyttää Seleniumin ja TestNG: n yhdistelmää tämän rajoituksen voittamiseksi, ja tämä on tämän blogin keskustelun aihe.

miten käyttää tiedostoja java

Siinä tapauksessa, että olet uusi Selenium ja haluat johdannon peruskäsitteisiin, voit aloittaa matkan täältä: ? Muut voivat kuitenkin aloittaa TestNG for Selenium -ohjelman tästä blogista.Sinun tulisi myös tietää, että organisaatiot metsästävät aktiivisesti ammattilaisia , mikä tekee siitä tärkeän taiton ohjelmistojen testaajille hallita.





Ohjelmistokehittäjät ympäri maailmaa ovat yksimielisiä siitä, että koodin kirjoittaminen testitapauksissa säästää suuren osan heidän virheenkorjausajastaan. Miksi? Tämä johtuu siitä, että testitapaukset auttavat luomaan vankan ja virheettömän koodin. Kuinka se tekee sen? Rikkomalla koko koodi pienemmiksi testitapauksiksi ja arvioimalla sitten kukin näistä testitapauksista läpäisemiseen / epäonnistumiseen, voimme luoda virheettömän koodin. Koska seleeni ei tue koodin suorittamista testitapauksissa, meidän on käytettävä siihen TestNG: tä. Täällä TestNG sopii seleenikehykseen.

TestNG tarkoittaa Testaa seuraava sukupolvi ja se on avoimen lähdekoodin testausautomaatiokehys, jonka ovat innoittaneet JUnit ja NUnit. No, ei vain innoittamana, vaan päivitys näihin kahteen kehykseen. Joten voit kysyä, mikä päivitys täällä on?TestNG-päivitys tarjoaa, että se tarjoaa lisätoimintoja, kuten: testimerkinnät, ryhmittely, priorisointi, parametrointi ja sekvensointitekniikat koodissa, mikä ei ollut mahdollista aikaisemmin.



Testitapausten hallinnan lisäksi TestNG: n avulla voidaan saada jopa yksityiskohtaiset raportit testeistä. Tulee yhteenveto, joka näyttää epäonnistuneen testitapauksen sekä ryhmän, johon se oli osa, ja luokan, johon se kuuluu. Kun virheet voidaan löytää tarkasti tällä tavoin, ne voidaan korjata välittömästi kehittäjien helpotukseksi. Alla oleva kuva kuvaa TestNG: n toimintaa.

testng - seleeniverkko-ohjain

Joten miten TestNG saa työn aikaan? Tähän kysymykseen vastataan vuonnatämän Selenium WebDriver -opetusblogin seuraava osa, jossa keskustelen kuinka hallita erilaisia ​​testitapauksia TestNG: n avulla.



Seleenin WebDriver TestNG: llä

Testitapaukset voidaan määrittää ja hallita yhdellä seuraavista tavoista:

  1. Testaa merkinnät
  2. Prioriteetti
  3. Testitapausten poistaminen käytöstä
  4. Menetelmän riippuvuus
  5. Ryhmittely
  6. Väitteet
  7. Raporttien luominen

Anna minun alkaa selittääjokainen näistä toiminnoista.

Testaa merkinnät

Ensinnäkin, kysykäämme itseltämme tämä kysymys: Miksi meidän on käytettävä merkintöjä? Milloin voimme käyttää niitä? Seleniumin merkintöjä käytetään seuraavan suoritettavan menetelmän hallintaan. Testimerkinnät määritetään ennen jokaista testikoodin menetelmää. Jos mitään menetelmää ei ole etuliitetty merkinnöillä, menetelmä jätetään huomioimatta eikä sitä suoriteta testikoodin osana. Niiden määrittelemiseksi menetelmiin on yksinkertaisesti annettava merkintä @Testata ”. Katso esimerkiksi alla olevaa koodinpätkää.

package testng import org.openqa.selenium.WebDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.BeforeClass import org.testng.annot .BeforeMethod tuo org.testng.annotations.Test public class TestAnnotations {@Test public void myTestMethod () {System.out.println ('Inside method: - myTestMethod') WebDriver-ohjain = uusi FirefoxDriver () driver.get ('http: //www.seleniumframework.com/Practiceform/ ') Merkkijonon otsikko = driver.getTitle () System.out.println (title) driver.quit ()} @BeforeMethod public void beforeMethod () {System.out.println (' Tämä koodikappale suoritetaan ennen menetelmää: - myTestMethod ') System.setProperty (' webdriver.gecko.driver ',' C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe ')} @AfterMethod public void afterMethod () {System.out.println (' Tämä kappale koodista suoritetaan menetelmän jälkeen: - myTestMethod ')} @BeforeClass public void beforeClass () {Syste m.out.println ('Tämä koodikappale suoritetaan ennen luokan suoritusta')} @AfterClass public void afterClass () {System.out.println ('Tämä koodikappale suoritetaan luokan suorittamisen jälkeen')} }

Yllä olevassa koodissa olisit huomannut, että en ole määrittänyt päämenetelmää. Minulla on kuitenkin määritelty 5 muuta menetelmää. Ne ovat 'myTestMethod', 'beforeMethod', 'afterMethod', 'beforeClass' ja 'afterClass'. Huomaa myös menetelmien määrittelyjärjestys koodissa, koska niitä ei suoriteta samassa järjestyksessä.

Menetelmään ”myTestMethod” merkitään @Testata , ja se on suoritettava päämenetelmä tai koodinpätkä. Muut huomautetut menetelmät suoritetaan ennen tämän menetelmän suorittamista ja sen jälkeen. Koska ”beforeMethod” on merkitty @BeforeMethod , se suoritetaan ennen kuin ”myTestMethod” suoritetaan. Vastaavasti ”afterMethod” on merkitty @AfterMethod ja siten se suoritetaan ”myTestMethod” -kohdan jälkeen.

”EnnenClassia” on kuitenkin merkitty @Ennen tuntia , mikä tarkoittaa, että se suoritetaan jo ennen luokan itse suorittamista. Luokan nimi tässä on TestAnnotations , ja näin ollen ennen luokan aloittamista suoritetaan koodinpätkä 'ennenClassia' sisällä. Vastaavasti ”afterClass” on merkitty @AfterMethod , ja siten suoritetaan luokan jälkeen TestAnnotations suoritetaan.

Jos sinulla on edelleen epäselvyyttä toteutusjärjestyksessä, alla oleva katkelma auttaa sinua varmasti.

1. BeforeSuite 2. BeforeTest 3. BeforeClass 4. BeforeMethod 5. Testi 6. AfterMethod 7. AfterClass 8. AfterTest 9. AfterSuite

Yllä olevan koodin lähtö on:

Tämä koodikappale suoritetaan ennen luokan suoritusta Tämä koodinpätkä suoritetaan ennen menetelmää: - myTestMethod Inside -menetelmä: - myTestMethod 1493192682118 geckodriver INFO-tiedostojen kuuntelu 127.0.0.1:13676 1493192682713 mozprofile :: profiili INFO Profiilipolun C käyttö: UsersVardhanAofDustLocmoz .wGkcwvwXkl2y 1493192682729 geckodriver :: marionette INFO Selaimen käynnistäminen C: Ohjelmatiedostot (x86) Mozilla Firefoxirefox.exe 1493192682729 geckodriver :: marionette INFO Yhdistäminen Marionette-palvelimeen localhost: 59792 [GPU 6152] VAROITUS: putkivirhe: VAROITUS: putkivirhe /moz2_slave/m-rel-w32-0000000000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346 1493192688316 Marionette INFO Kuunteleminen portissa 59792 26. huhtikuuta 2017 1:14:49 PM org. openqa.selenium.remote.ProtocolHandshake createSession INFO: Havaittu murre: W3C JavaScript-virhe: http://t.dtscout.com/i/?l=http%3A%2F%2Fwww.seleniumframework.com%2FPracticeform%2F&j=, line 1: TypeError: document.getElementsByTagNa me (...) [0] on määrittelemätön seleenikehys | Practiceform 1493192695134 Marionette INFO Uusia yhteyksiä ei enää hyväksytä 26. huhtikuuta 2017 13:14:57 org.openqa.selenium.os.UnixProcess tuhota SEVERE: Ei voida tappaa prosessia PID 6724: llä Tämä koodikappale suoritetaan menetelmän jälkeen: - myTestMethod Tämä koodikappale suoritetaan luokan suorittamisen jälkeen PASSED: myTestMethod ===================================== ============ Oletustesti Testit suoritetaan: 1, epäonnistumiset: 0, ohitukset: 0 ========================== ======================= ============================= ==================== Oletussarja suoritettujen testien kokonaismäärä: 1, epäonnistumiset: 0, ohitukset: 0 =============== ================================

Kuten yllä olevasta lähdöstä näet, suoritettujen testien lukumäärä on 1 ja epäonnistuneiden on 0. Tämä tarkoittaa, että koodi on onnistunut. Jopa menetelmien suorittamisjärjestys on järjestyksessäMinäaiemmin mainittu.

Kun suoritat tämän koodin koneellasi, Selenium WebDriver instantioi Firefox-selaimesi, siirtyy Selenium Frameworkin käytäntöihin, sulkee selaininstanssin ja näyttää saman tuloksen kuin yllä Eclipse IDE -laitteessasi.

Olen käyttänyt koodissani vain 5 erilaista merkintää. Mutta on paljon enemmän merkintöjä, joita voidaan käyttää seuraavan suoritettavan menetelmän hallintaan. Koko merkintäluettelo on selitettypöytäalla:

@BeforeSuite - Menetelmä merkittiin @BeforeSuite suoritetaan ennen kuin kaikki sarjan testit ovat suoritettu.

@AfterSuite - Menetelmä merkittiin @AfterSuite suoritetaan, kun kaikki sarjan testit on suoritettu.

@BeforeTest - Menetelmä merkittiin @BeforeTest suoritetaan ennen minkään luokkaan kuuluvan testimenetelmän suorittamista.

@AfterTest - Menetelmä merkittiin @AfterTest suoritetaan, kun kaikki luokkaan kuuluvat testimenetelmät on suoritettu.

@BeforeGroup - Menetelmä merkittiin @BeforeGroup suoritetaan ennen kunkin ryhmän ajamista.

__itsessään)

@AfterGroup - Menetelmä merkittiin @AfterGroup suoritetaan jokaisen ryhmän suorittamisen jälkeen.

@Ennen tuntia - Menetelmä merkittiin @Ennen tuntia suoritetaan kerran ennen nykyisen luokan ensimmäisen testimenetelmän käyttämistä.

@Oppitunnin jälkeen - Menetelmä merkittiin @Oppitunnin jälkeen suoritetaan kerran sen jälkeen, kun kaikki nykyisen luokan testimenetelmät on suoritettu.

@BeforeMethod - Menetelmä merkittiin @BeforeMethod suoritetaan ennen minkään luokan menetelmän suorittamista.

@AfterMethod - Menetelmä merkittiin @AfterMethod suoritetaan, kun jokainen luokan sisäinen testimenetelmä on suoritettu.

@Testata - Menetelmä merkittiin @Testata on tärkein testimenetelmä koko ohjelmassa. Muut merkityt menetelmät suoritetaan tämän menetelmän ympärillä.

TestNG-raportin kuvakaappaus onalla: -

Prioriteetti

Puhuimme siitä, kuinka erilaisia ​​menetelmiä voidaan määritellä siten, että ne toteutetaan @Testata menetelmä. Mutta entä jos sinulla on enemmän kuin yksi @Testata menetelmä ja haluat määrittää niiden välisen suoritusjärjestyksen?

Siinä tapauksessa voimmePrioritisoi ne osoittamalla numero merkityille testitapauksille. Pienempi määrä, korkeampi prioriteetti. Prioriteetti voidaan määrittää parametreina määritettäessä testitapauksia. Mutta jos prioriteettia ei ole määritetty, kommentoidut testimenetelmät suoritetaan testien aakkosjärjestyksessä. Katso testimerkintöjen parametreja alla olevasta kappaleestakoodi.

@Test (Priority = 2) public static void FirstTest () {system.out.println ('Tämä on koetapaus numero kaksi prioriteetin # 2 vuoksi')} @Test (Priority = 1) public static void SecondTest () { system.out.println ('Tämä on testitapaus numero yksi prioriteetin # 1 takia')} @Test public static void FinalTest () {system.out.println ('Tämä on viimeinen testitapaus, koska prioriteettia ei ole' )}

Testitapausten poistaminen käytöstä

Anna minun näyttää sinulle jotain mielenkiintoisempaa. Entä jos sinulla on miljoona riviä kattava koodi, joka koostuu sadoista testitapauksista, ja haluat poistaa vain yhden testimenetelmän käytöstä? Sen sijaan sinun ei tarvitse poistaa mitään koodin osaa, voimme yksinkertaisesti poistaa testimenetelmän käytöstä.

Testitapauksen poistaminen käytöstä tapahtuu myös parametrien avulla. Voimme asettaa käytössä määritteeksi väärä. Oletusarvoisesti kaikki testitapaukset otetaan käyttöön, joten meidän ei tarvitse määritellä niitä joka kerta kun kirjoitamme testiä. Katso kolmannen ja neljännen menetelmän parametreja alla olevasta kappaleestakoodi.

@Test (Prioriteetti = 2, käytössä = True) public static void FirstTest () {system.out.println ('Tämä on testitapauksen numero kaksi prioriteetin # 2 takia')} @Test (Priority = 1, käytössä = True ) public static void SecondTest () {system.out.println ('Tämä on testitapaus numero yksi prioriteetin # 1 takia')} @Test (käytössä = väärä) public static void SkippedTest () {system.out.println ( 'Tämä on ohitettu testitapaus, koska se on poistettu käytöstä')} @Test (enabled = True) public static void FinalTest () {system.out.println ('Tämä on viimeinen testitapaus, joka on käytössä eikä sillä ole prioriteettia ')}

Menetelmän riippuvuus

Nyt jos sinulla on tilanne, jossa haluat, että koodikappale suoritetaan vain, jos se täyttää ehdon tai vain, jos tietty menetelmä suoritetaan onnistuneesti, voimme tehdä sen käyttämällä dependOnMethod (). Tämä on periaatteessa menetelmäriippuvuuden ehto, jossa menetelmä suoritetaan toisesta menetelmästä riippuen. Jos asetamme lisäksi ainaRun attribute on true, menetelmä suoritetaan riippumatta menetelmän epäonnistumisen / läpäisyn ehdosta. Katso alla olevan koodinpätkän koodia.

@Test public static void FirstTest () {system.out.println ('Tämä on ensimmäinen suoritettava testitapaus')} @Test (dependOnMethods = {'FirstTest'}) public static void SecondTest () {system.out. println ('Tämä on toinen suoritettava testitapaus Tämä on riippuvainen menetelmä')} @Test (dependOnMethods = {'SecondTest'}) public static void FinalTest () {system.out.println ('Tämä on viimeinen testi Tapaus suoritetaan joka tapauksessa. ')}

Nyt tämä vie meidät toiseen tärkeään näkökohtaan testissämerkinnät, joka on Ryhmittely .

Ryhmittely

Nyt sinun on tiedettävä, että koodissa on joukko menetelmiä osana testitapaustamme. Oletetaan, että testitapauksia on 100, mutta seuraavassa testissämme haluamme suorittaa vain 20 testitapausta. Luuletko, että voimme tehdä sen? Toki voimme.

Voimme käyttää ryhmät määritettä tätä tarkoitusta varten. Voimme määrittää ryhmän nimen useille testitapauksille ja myöhemmin valita ryhmän suorittamisen koko koodin sijaan. Katso alla oleva koodinpätkä ymmärtääksesimiten luoda ryhmiä.

@Test (ryhmät = {'Oma ryhmä'}) julkinen staattinen void FirstTest () {system.out.println ('Tämä on osa ryhmää: Oma ryhmä')} @Test (ryhmät = {'Oma ryhmä'}) julkinen staattinen void SecondTest () {system.out.println ('Tämä on myös osa ryhmää: Oma ryhmä')} @Test public static void ThirdTest () {system.out.println ('Mutta tämä ei ole osa Ryhmä: Oma ryhmä ')}

TestNG-väitteet

Tämä vie meidät nyt TestNG: n seuraavaan aiheeseen, joka on väitteet. Kuten nimestä voi päätellä, väitteitä voidaan käyttää testimenetelmissä testin läpäisy- ja hylkäysolosuhteiden määrittämiseksi. Lausunnon todellisen / väärän ehdon perusteella testit läpäisevät / epäonnistuvat.

Alla olevaan koodiin olen sisällyttänyt 3 testimenetelmää, joissa ensimmäisellä ja kolmannella menetelmällä on läpäisyehto ja toisella menetelmällä epäonnistumistila. Katso koodi itse.

paketti testng import org.testng.annotations.Test import org.testng.annotations.BeforeMethod import org.openqa.selenium.WebDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.Assert import org.testng.annotations.AfterMethod public class Assertions {@BeforeMethod public void beforeMethod () {System.setProperty ('webdriver.gecko.driver', 'C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe')} public boolean isEqual (int a, int b) {if (a == b ) {return true} else {return false}} @Test public void testEquality1 () {Assert.assertEquals (true, isEqual (10, 10)) System.out.println ('Tämä on hyväksyttävä ehto')} @Test public void testEquality2 () {Assert.assertEquals (true, isEqual (10, 11)) System.out.println ('Tämä on epäonnistunut tila')} @Test public void getTitle () {WebDriver-ohjain = uusi FirefoxDriver () -ohjain. get ('https://www.gmail.com') Merkkijonon nimi = driver.getTitle () Assert.assertEquals (title, 'Gmail') System.out.println ('Tämä on jälleen läpäisyehto')} }

Kun tarkastelet raporttia, joka syntyy tämän suorituksen jälkeen, huomaat, että kolmesta testistä yksi epäonnistui ja kaksi läpäisi. Toinen tärkeä huomioitava asia on, että kun väite epäonnistuu, muut testin komennot / koodirivit ohitetaan. Vasta kun väite on onnistunut, seuraava koodirivi suoritetaan kyseisessä testissä. Tarkista alla oleva lähtö, missä system.out.println on suorittanut vain ensimmäisen ja kolmannen menetelmän.

1493277977348 geckodriver INFO Kuuntelu 127.0.0.1:47035 1493277977993 mozprofile :: profile INFO Profiilipolun C käyttö: UsersVardhanAppDataLocalTemp ust_mozprofile.Z7X9uFdKODvi 1493277977994 selain geckodriveres :: Marionette INFO :: Marionette INFO Yhdistäminen Marionette-palvelimeen localhost-palvelimella: 50758 [GPU 6920] VAROITUS: putkivirhe: 109: tiedosto c: / builds / moz2_slave / m-rel-w32-000000000000000000000000 / build / src / ipc / chromium / src / chrome / common / ipc_channel_win. cc, line 346 1493277981742 Marionette INFO Kuunteleminen satamassa 50758 27. huhtikuuta 2017 12:56:22 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Havaittu murre: W3C Tämä on jälleen läpäisyehto Tämä on läpäistävä ehto YLITETTY: getTitle PASSED: testEquality1 FAILED: testEquality2 java.lang.AssertionError: odotettu [väärä], mutta löydetty [tosi] osoitteessa org.testng.Assert.fail (Assert.java:93) osoitteessa org.testng.Assert.failNotEquals (Assert.java: 512) osoitteessa org.testng.Assert.assertE qualsImpl (Assert.java:134), org.testng.Assert.assertEquals (Assert.java:115), org.testng.Assert.assertEquals (Assert.java:304), org.testng.Assert.assertEquals (Assert.java) : 314) osoitteessa testng.Assertions.testEquality2 (Assertions.java:38) osoitteessa sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (Tuntematon lähde) osoitteessa sun.reflect.DeloratingMethod Lähde) osoitteessa java.lang.reflect.Method.invoke (Tuntematon lähde) osoitteessa org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java:108) osoitteessa org.testng.internal.Invoker.invokeMethod (Invoker.java:66) osoitteessa org.testng.internal.Invoker.invokeTestMethod (Invoker.java:869) osoitteessa org.testng.internal.Invoker.invokeTestMethods (Invoker.java:1193) osoitteessa org.testng.internal.TestMethodWorker.invokeTestMethods (TestTetMethods) ) osoitteessa org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:109) osoitteessa org.testng.TestRunner.privateRun (TestRunner.java:744) osoitteessa org.testng.TestRu nner.run (TestRunner.java:602) osoitteessa org.testng.SuiteRunner.runTest (SuiteRunner.java:380) osoitteessa org.testng.SuiteRunner.runSequential (SuiteRunner.java:375) osoitteessa org.testng.SuiteRunner.privateRun (SuiteRunn .java: 340) osoitteessa org.testng.SuiteRunner.run (SuiteRunner.java:289) osoitteessa org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) osoitteessa org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.ja osoitteessa org.testng.TestNG.runSuitesSequential (TestNG.java:1301) osoitteessa org.testng.TestNG.runSuitesLocally (TestNG.java:1226) osoitteessa org.testng.TestNG.runSuites (TestNG.java:1144) osoitteessa org.testng. TestNG.run (TestNG.java:1115) osoitteessa org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:132) osoitteessa org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:230) osoitteessa org.testng .RemoteTestNG.main (RemoteTestNG.java:76) ======================================= ======== Oletustestit suoritetaan: 3, epäonnistumiset: 1, ohitukset: 0 ============================== =================== ================================= ================ Oletussarja testien kokonaismäärä: 3, epäonnistumiset: 1, ohitukset: 0 ===================================== ============

Joten tämä on testitapausten hallintaan liittyvien käsitteiden loppu. Meillä on vielä yksi aihe, eli raporttien luominen. Raporttien luominen on viimeinen aihe tässä Selenium WebDriver -oppaassa, koska raportteja voidaan luoda vastatestit suoritetaan.

miten koota java-ohjelmia

Raporttien luominen

Tärkeintä on huomioida, että raportti luodaan vain .xml-tiedostolla. Tämä tarkoittaa, olkoon se menetelmä, olkoon se luokka tai ryhmä, jonka haluat testata, ne kaikki on määritettävä .xml-tiedostossa.

Joten ensin voit luoda uuden kansion projektiisi ja luoda uuden tiedoston kyseiseen kansioon ja antaa tiedostolle nimen ja tallentaa sen .xml-laajennuksella. Voit luoda uuden kansion ja tiedoston napsauttamalla hiiren kakkospainikkeella paketinhallintaohjelmaa. Kun olet luonut tiedoston, siirry lähde-välilehteen ikkunan alareunasta ja kirjoita kokoonpanot alla olevassa katkelmassa määritetyllä tavalla.

 

Ensimmäinen rivi on XML-dokumenttityypin määritys. Tämä on vakio ja pakollinen kaikille testiraporteille. Mutta muut rivit ovat melko itsestään selviä. Olen käyttänyt avoimia tunnisteita sarjaan, testiin, luokkiin ja luokkaan. Classes-tunnisteessa voi olla yksi tai useampi luokka. Siten sitä voidaan käyttää, jos haluamme luoda raportin, jossa testataan useita luokkia. Tämä on kätevä erityisesti kehittäjille, jotka haluavat testata pitkän koodinpätkän.

Joka tapauksessa palatessamme raporttiin, voit nimetä jokaisen paketin, testin tai luokan avattuasi nämä tunnisteet ja muista sulkea kaikki avaamasi tagit. Olen antanut sviittini nimen nimellä TestNG: t , testin nimi Testata Merkinnät ja luokan nimi testng.TestAnnotations. Huomaa, että luokan nimi on muodossa ' pakettinimi.luokanimi ’ .

Kun suoritat tämän tiedoston TestNG-pakettina, suoritus alkaa ja saat yksityiskohtaiset testiraportit. Saat testituloksen konsoli-välilehdeltä ja testipaketin tulokset seuraavalta välilehdeltä. Koodin suorittamista varten luomani raportti onsisäänalla oleva kuvakaappaus. Huomaat, että tällä kertaa on olemassa sarjan nimi, testin nimi, luokan nimi sekä aika, joka kuluu kunkin suorittamiseen.

Jos haluat tarkastella HTML-raporttia (Hakemistoraportti tai Sähköpostiraportti), voit siirtyä testitulos kansio työtilan projektihakemistossa. Napsauttamalla niitä voit tarkastella raportteja myös myöhemmin. Alla on heidän kuvakaappauksensa.

Hakemistoraportti : -

Sähköpostiraportti : -

Joten tämä vie meidät tämän Selenium WebDriver -opetusblogin loppuun. Sinun on aika asettaa pimennys loppuun, asentaa erilaiset Selenium-paketit, asentaa TestNG ja aloittaa testitapausten kirjoittaminen.

Voit katsella alla olevaa Selenium WebDriver -opetusvideota todistamaan tämän blogin selitettyjen eri käsitteiden esittelyä.

Seleenikoulutus TestNG-kehys seleenille Edureka

Tämä Edureka Selenium Training -video vie sinut läpi Selenium WebDriverin perusteelliset tiedot. Tämä Selenium-opetusvideo on ihanteellinen sekä aloittelijoille että ammattilaisille, jotka haluavat tarkentaa WebDriver-komentojen perusteita ja oppia, kuinka TestNG: tä voidaan käyttää Seleniumin kanssa erilaisten testitapausten hallintaan.

Jos haluat oppia seleeniä ja rakentaa uraa testausalueella, tutustu interaktiiviseen live-online-sivustoomme Tässä mukana tulee 24 * 7 -tuki, joka ohjaa sinua koko oppimisjaksosi ajan.

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ja palaamme sinuun.