Seleeni veebidraiver: TestNG testjuhtumite haldamiseks ja aruannete loomiseks

See Seleeni veebidraiveri õpetus aitab teil mõista vajadust kasutada TestNG koos seleeniga testjuhtumite haldamiseks ja üksikasjalike katsearuannete loomiseks.

Eelmises ajaveebis õpetasin teile, kuidas käivitada oma esimene Seleeni WebDriveri test. Selles blogis käsitlen Seleeni WebDriveri täiustatud kontseptsioone. Olen juba mitu korda maininud, et Selenium WebDriveril on testijuhtumite haldamise ja katsearuannete koostamise suhtes piiranguid. Mis on siis alternatiiv? Nii populaarne tööriist nagu seleen peab kindlasti olema lahendus? Muidugi teeb! Selle piirangu ületamiseks võime kasutada seleeni ja TestNG kombinatsiooni ning see on selle ajaveebi arutelu teema.



erinevus abstraktse klassi ja liidese vahel

Juhul, kui olete seleeni uus kasutaja ja soovite põhimõistete tutvustust, võite oma teekonda alustada siit: ? Sellest blogist saavad teised aga alustada TestNG for Selenium kasutamist.Samuti peaksite teadma, et organisatsioonid jahivad aktiivselt spetsialiste , muutes selle tarkvara testijate jaoks oluliseks oskuseks.



Tarkvaraarendajad kogu maailmast nõustuvad üksmeelselt, et testijuhtumite korral koodi kirjutamine säästab suure osa nende silumisajast. Miks? Seda seetõttu, et testjuhtumid aitavad luua tugeva ja tõrgeteta koodi. Kuidas see seda teeb? Jaotades kogu koodi väiksemateks testijuhtumiteks ja seejärel hinnates kõiki neid testjuhtumeid tingimustele vastamiseks / ebaõnnestumiseks, saame luua tõrgeteta koodi. Kuna seleen ei toeta testimisjuhtudel koodi täitmist, peame selleks kasutama ka TestNG-d. Siin sobib TestNG seleeni raamistikku.

TestNG tähistab Testige järgmist põlvkonda ja see on avatud lähtekoodiga testautomaatika raamistik, mis on inspireeritud JUnitist ja NUnitist. Noh, mitte ainult inspireeritud, vaid ka nende kahe raamistiku versiooniuuendus. Nii et võite küsida, mis on siin täiendus?TestNG-ga täiendamine pakub seda, et see pakub koodis täiendavaid funktsioone: testimärkused, rühmitamine, prioriseerimine, parameetrite määramine ja järjestamise tehnikad, mida varem polnud võimalik teha.



Lisaks testjuhtumite haldamisele võib TestNG-ga saada isegi üksikasjalikke aruandeid testide kohta. Tehakse kokkuvõte, kus kuvatakse ebaõnnestunud testjuhtum koos grupiga, kuhu see kuulus, ja klassi, kuhu see kuulub. Kui vead saab täpselt sellisel viisil leida, saab need kohe arendajate kergenduseks parandada. Alloleval pildil on kujutatud TestNG tööd.

testng - seleeni veebidraiver

Niisiis, kuidas TestNG töö saab? Sellele küsimusele vastatakse aastalselle Seleeni WebDriveri õpetusblogi järgmine jaotis, kus arutan, kuidas hallata erinevaid testjuhtumeid TestNG abil.



Seleeni veebidraiver testNG-ga

Testjuhtumeid saab määratleda ja hallata ühel järgmistest viisidest:

  1. Testi märkused
  2. Prioriteetide seadmine
  3. Testjuhtumite keelamine
  4. Meetodi sõltuvus
  5. Grupeerimine
  6. Väited
  7. Aruande genereerimine

Las ma hakkan seletamakõiki neid funktsioone.

Testi märkused

Esiteks esitame endale selle küsimuse: miks peame kasutama märkusi? Millal saame neid kasutada? Järgmise käivitatava meetodi juhtimiseks kasutatakse seleeni märkmeid. Katse märkused on määratletud enne testi koodis iga meetodit. Juhul kui ühtegi meetodit ei ole eesotsatud märkustega, ignoreeritakse seda meetodit ja seda ei käivitata testkoodi osana. Nende määratlemiseks tuleb meetoditele lihtsalt lisada märge @Test “. Vaadake näiteks allolevat koodijuppi.

pakett 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.annotations .BeforeMethod impordib org.testng.annotations.Test avaliku klassi TestAnnotations {@Test public void myTestMethod () {System.out.println ('Inside method: - myTestMethod') WebDriver driver = new FirefoxDriver () driver.get ('http: //www.seleniumframework.com/Practiceform/ ') Stringi pealkiri = driver.getTitle () System.out.println (pealkiri) driver.quit ()} @BeforeMethod avalik void beforeMethod () {System.out.println (' See kooditükk täidetakse enne meetodit: - myTestMethod ') System.setProperty (' webdriver.gecko.driver ',' C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe ')} @AfterMethod public void afterMethod () {System.out.println (' See tükk koodi käivitatakse pärast meetodit: - myTestMethod ')} @BeforeClass public void beforeClass () {Syste m.out.println ('See kooditükk täidetakse enne klassi käivitamist')} @AfterClass public void afterClass () {System.out.println ('See kooditükk täidetakse pärast klassi täitmist')} }

Ülalolevas koodis oleksite märganud, et ma pole määratlenud ‘peamist’ meetodit. Kuid mul on veel 5 meetodit määratletud. Need on 'myTestMethod', 'beforeMethod', 'afterMethod', 'beforeClass' ja 'afterClass'. Pange tähele ka meetodite määratluse järjekorda koodis, kuna neid ei täideta samas järjekorras.

Meetodiga ‘myTestMethod’ on lisatud märkused @Test ja see on peamine meetod või koodijupp, mis tuleb käivitada. Muud märkustega meetodid käivitatakse enne ja pärast selle meetodi käivitamist. Kuna ‘beforeMethod’ on märgitud @BeforeMethod , käivitatakse see enne 'myTestMethod' käivitamist. Samamoodi märgitakse märkega ‘afterMethod’ @AfterMethod ja seega käivitatakse see pärast ‘myTestMethod’.

Siiski on märkega ‘beforeClass’ tähistatud @BeforeClass , mis tähendab, et see käivitatakse juba enne klassi enda käivitamist. Meie klassi nimi siin on TestMärkused ja seega enne klassi käivitamist käivitatakse koodiosa ‘beforeClass’ sees. Samamoodi märgitakse märkega ‘afterClass’ @AfterMethod ja seega hukatakse pärast klassi TestMärkused hukatakse.

Kui teil on täitmise järjekorra osas endiselt segadust, siis aitab allolev koodilõik teid kindlasti.

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

Ülaltoodud koodi väljund on:

See kooditükk täidetakse enne klassi käivitamist See kooditükk täidetakse enne meetodit: - myTestMethod Inside meetod: - myTestMethod 1493192682118 geckodriver INFO kuulamine saidil 127.0.0.1:13676 1493192682713 mozprofile :: profile INFO Kasutades profiili rada C: UsersVardhanAofDustLocmoz .wGkcwvwXkl2y 1493192682729 geckodriver :: marionette INFO Brauseri käivitamine C: Program Files (x86) Mozilla Firefoxirefox.exe 1493192682729 geckodriver :: marionette INFO Marionette'iga ühenduse loomine localhostil: 59792 [GPU 6152] HOIATUS: failiviga: HOIATUS: toruviga /moz2_slave/m-rel-w32-0000000000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346 1493192688316 Marionette INFO Kuulamine sadamas 59792 26. aprill 2017 1:14:49 PM org. openqa.selenium.remote.ProtocolHandshake createSession INFO: Tuvastatud murre: W3C JavaScripti tõrge: http://t.dtscout.com/i/?l=http%3A%2F%2Fwww.seleniumframework.com%2FPracticeform%2F&j=, line 1: TypeError: document.getElementsByTagNa mina (...) [0] on määratlemata seleeniraamistik | Practiceform 1493192695134 Marionette INFO Uusi ühendusi ei aktsepteerita enam 26. aprillil 2017 13:14:57 org.openqa.selenium.os.UnixProcess hävitada SEVERE: PID-ga 6724 ei saa protsessi tappa. See kooditükk käivitatakse pärast meetodit: - myTestMethod See koodijupp käivitatakse pärast klassi täitmist PASSED: myTestMethod =================================== ============ Vaikekatse testid on käivitatud: 1, tõrked: 0, vahelejätmised: 0 ========================== ======================= ============================= ==================== Vaikekomplekt testide koguarv: 1, ebaõnnestumised: 0, vahelejätmised: 0 =============== ================================

Nagu ülaltoodud väljundist näha, on käivitatud testide arv 1 ja ebaõnnestunud 0. See tähendab, et kood on edukas. Isegi meetodite täitmise järjekord on selles järjekorrasMinamainitud varem.

Kui täidate selle koodi oma arvutis, kiirendab Selenium WebDriver teie Firefoxi brauserit, navigeerib Selenium Framework'i praktikavormile, sulgeb brauseri eksemplari ja kuvab sama väljundi, nagu ülaltoodud teie Eclipse IDE-s.

Olen oma koodis kasutanud ainult viit erinevat märkust. Kuid on palju rohkem märkusi, mida saab kasutada järgmise käivitatava meetodi juhtimiseks. Kogu märkuste loetelu on selgitatud dokumendistabelallpool:

@BeforeSuite - meetodi juurde on lisatud märkused @BeforeSuite käivitatakse enne, kui kõik sviidi testid on läbi viidud.

@AfterSuite - meetodi juurde on lisatud märkused @AfterSuite käivitatakse pärast seda, kui kõik sviidi testid on läbi viidud.

@BeforeTest - meetodi juurde on lisatud märkused @BeforeTest töötab enne mis tahes klassi kuuluva katsemeetodi käivitamist.

@AfterTest - meetodi juurde on lisatud märkused @AfterTest töötab pärast seda, kui kõik klassi kuuluvad katsemeetodid on läbi viidud.

@BeforeGroup - meetodi juurde on lisatud märkused @BeforeGroup töötab enne iga rühma käivitamist.

@AfterGroup - meetodi juurde on lisatud märkused @AfterGroup töötab pärast iga rühma käivitamist.

@BeforeClass - meetodi juurde on lisatud märkused @BeforeClass käivitatakse üks kord enne praeguse klassi esimese katsemeetodi kasutamist.

@AfterClass - meetodi juurde on lisatud märkused @AfterClass töötab üks kord pärast seda, kui kõik praeguse klassi katsemeetodid on läbi viidud.

@BeforeMethod - meetodi juurde on lisatud märkused @BeforeMethod käivitatakse enne klassis mis tahes katsemeetodi käivitamist.

@AfterMethod - meetodi juurde on lisatud märkused @AfterMethod käivitatakse pärast seda, kui klassis on katsetatud kõiki katsemeetodeid.

kuidas installida hadoop Linuxi

@Test - meetodi juurde on lisatud märkused @Test on kogu programmi peamine katsemeetod. Selle meetodi ümber käivitatakse muud märkustega meetodid.

TestNG aruande ekraanipilt onallpool: -

Prioriteetide seadmine

Me rääkisime sellest, kuidas erinevaid meetodeid saab määratleda nii, et neid rakendataks @Test meetod. Aga mis siis, kui teil on rohkem kui üks @Test meetodit ja soovite määratleda nende vahel täitmise järjekorra?

Sel juhul saamePrioritiseerige neid, määrates märkustega testjuhtumitele numbri. Mida väiksem on number, seda suurem on prioriteet. Testjuhtumite määratlemisel saab parameetritena määrata prioriteedi. Kuid kui prioriteeti pole määratud, viiakse kommenteeritud katsemeetodid läbi testide tähestikulises järjekorras. Vaadake testi märkuste parameetreid allpool olevast osastkood.

@Test (Prioriteet = 2) public static void FirstTest () {system.out.println ('See on testjuhtumi number 2 prioriteedi nr 2 tõttu')} @Test (Priority = 1) avalik staatiline void SecondTest () { system.out.println ('See on testjuhtumi number 1 prioriteedi nr 1 tõttu')} @Test public static void FinalTest () {system.out.println ('See on viimane testjuhtum, kuna prioriteeti pole ' )}

Testjuhtumite keelamine

Las ma näitan sulle midagi huvitavamat. Mis siis, kui teil on miljon rida hõlmav kood, mis koosneb sadadest testjuhtumitest, ja soovite keelata ainult ühe katsemeetodi? Selle asemel ei pea te koodi ühtegi osa kustutama, võime selle katsemeetodi lihtsalt keelata.

Testjuhtumi keelamine toimub ka parameetrite kaudu. Saame määrata lubatud atribuut väärale. Vaikimisi on kõik testjuhtumid lubatud, mistõttu ei pea me neid testi kirjutamisel iga kord määratlema. Vaadake kolmanda ja neljanda meetodi parameetreid allpoolkood.

@Test (Prioriteet = 2, lubatud = True) avalik staatiline void FirstTest () {system.out.println ('See on testjuhtumi number 2 prioriteedi nr 2 tõttu')} @Test (Priority = 1, lubatud = True ) public static void SecondTest () {system.out.println ('See on testjuhtumi number 1 prioriteedi nr 1 tõttu')} @Test (lubatud = vale) public static void SkippedTest () {system.out.println ( 'See on vahelejäetud testijuhtum, kuna see on keelatud')} @Test (lubatud = True) avalik staatiline void FinalTest () {system.out.println ('See on viimane testjuhtum, mis on lubatud ja millel pole prioriteetsust ')}

Meetodi sõltuvus

Nüüd, kui teil on olukord, kus soovite, et kooditükk käivitataks ainult siis, kui see vastab tingimusele või ainult siis, kui konkreetne meetod käivitub edukalt, siis saame seda teha kasutades sõltubOnMethod (). Põhimõtteliselt on see meetodi sõltuvuse tingimus, kus meetod käivitatakse sõltuvalt teisest meetodist. Kui lisaks seada alatiRun atribuudiks true, siis käivitatakse meetod sõltumata meetodi ebaõnnestumise / läbimise tingimusest. Vaadake koodi allolevast koodilõigust.

@Test public static void FirstTest () {system.out.println ('See on esimene käivitatav testjuhtum')} @Test (sõltubOnMethods = {'FirstTest'}) avalik staatiline void SecondTest () {system.out. println ('See on teine ​​testijuht, mis tuleb täita. See on sõltuv meetod')} @Test (sõltubOnMethods = {'SecondTest'}) avalik staatiline void FinalTest () {system.out.println ('See on viimane test Juhtum See täidetakse igal juhul. ')}

Nüüd viib see testis veel ühe olulise aspekti juurdemärkused, mis on Grupeerimine .

Grupeerimine

Nüüd peate teadma, et koodis on meie katseprojekti osana mitmeid meetodeid. Oletame, et testjuhtumeid on 100, kuid järgmises testis soovime läbi viia ainult 20 testjuhtumit. Kas sa arvad, et me suudame seda teha? Muidugi saame.

Me saame kasutada rühmadesse atribuut. Saame grupi nime määrata mitmele testjuhtumile ja hiljem valida kogu koodi asemel grupi käivitamine. Selle mõistmiseks vaadake allolevat koodijuppikuidas gruppe luua.

@Test (groups = {'MyGroup'}) avalik staatiline void FirstTest () {system.out.println ('See on osa rühmast: MyGroup')} @Test (groups = {'MyGroup'}) avalik staatiline void SecondTest () {system.out.println ('See on ka osa rühmast: Minu rühm')} @Test public static void ThirdTest () {system.out.println ('Kuid see pole osa Grupp: Minu rühm ')}

TestNG väited

See viib meid TestNG järgmise teema juurde, milleks on väited. Nagu nimigi ütleb, saab katse läbimise / ebaõnnestumise tingimuse määramiseks testimeetodites kasutada väiteid. Tuginedes väite tõesele / valele tingimusele, lähevad testid läbi / läbi.

Allpool olevasse koodi lisasin 3 katsemeetodit, kusjuures esimesel ja kolmandal meetodil on läbimistingimus ja teisel meetodil ebaõnnestumise tingimus. Vaadake ise koodi.

pakett testng import org.testng.annotations.Testi 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')} avalik boolean onEqual (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 ('See on läbimistingimus')} @Test public void testEquality2 () {Assert.assertEquals (true, isEqual (10, 11)) System.out.println ('See on ebaõnnestumise tingimus')} @Test public void getTitle () {WebDriver driver = new FirefoxDriver () driver. get ('https://www.gmail.com') Stringi pealkiri = driver.getTitle () Assert.assertEquals (pealkiri, 'Gmail') System.out.println ('See on jällegi läbimistingimus')} }

Kui vaatate aruannet, mis luuakse pärast seda käivitamist, märkate, et kolmest testist üks ebaõnnestus ja kaks läbisid. Teine oluline punkt, mida tuleb märkida, on see, et kui väide ebaõnnestub, jäetakse selle testi teised käsud / koodiread vahele. Alles siis, kui väide on edukas, käivitatakse selles testis järgmine koodirida. Vaadake väljundit allpool, kus system.out.println on käivitanud ainult esimese ja kolmanda meetodi.

1493277977348 geckodriver INFO kuulamine saidil 127.0.0.1:47035 1493277977993 mozprofile :: profile INFO Kasutades profiilirada C: UsersVardhanAppDataLocalTemp ust_mozprofile.Z7X9uFdKODvi 1493277977994 brauser INFO: Firefox 1493277977994 Firefoxi faili :: INFO INFO :: Firefox INFO :: Marionette INFO :: Marionette INFO Marionette'iga ühenduse loomine localhostis: 50758 [GPU 6920] HOIATUS: toruviga: 109: fail c: / builds / moz2_slave / m-rel-w32-000000000000000000000000 / build / src / ipc / chromium / src / chrome / common / ipc_channel_win. cc, line 346 1493277981742 Marionette INFO Kuulamine sadamas 50758 27. aprill 2017 12:56:22 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Tuvastatud murre: W3C See on jällegi läbimistingimus. getTitle PASSED: testEquality1 FAILED: testEquality2 java.lang.AssertionError: oodatud [vale], kuid leitud [tõene] aadressil org.testng.Assert.fail (Assert.java:93) aadressil org.testng.Assert.failNotEquals (Assert.java: 512) aadressil org.testng.Assert.assertE qualsImpl (Assert.java:134) org.testng.Assert.assertEquals (Assert.java:115) juures org.testng.Assert.assertEquals (Assert.java:304) aadressil org.testng.Assert.assertEquals (Assert.java : 314) aadressil testng.Assertions.testEquality2 (Assertions.java:38) aadressil sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) aadressil sun.reflect.NativeMethodAccessorImpl.invoke (Tundmatu allikas) aadressil sun.reflect.DinegatingMethod Source) aadressil java.lang.reflect.Method.invoke (Tundmatu allikas) aadressil org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java:108) aadressil org.testng.internal.Invoker.invokeMethod (Invoker.java:66) aadressil org.testng.internal.Invoker.invokeTestMethod (Invoker.java:869) aadressil org.testng.internal.Invoker.invokeTestMethods (Invoker.java:1193) aadressil org.testng.internal.TestMethodWorker.invokeTestMethods ) aadressil org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:109) aadressil org.testng.TestRunner.privateRun (TestRunner.java:744) aadressil org.testng.TestRu nner.run (TestRunner.java:602) aadressil org.testng.SuiteRunner.runTest (SuiteRunner.java:380) aadressil org.testng.SuiteRunner.runSequential (SuiteRunner.java:375) aadressil org.testng.SuiteRunner.privateRun (SuiteRunn .java: 340) aadressil org.testng.SuiteRunner.run (SuiteRunner.java:289) aadressil org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) aadressil org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.ja aadressil org.testng.TestNG.runSuitesSequential (TestNG.java:1301) aadressil org.testng.TestNG.runSuitesLocally (TestNG.java:1226) aadressil org.testng.TestNG.runSuites (TestNG.java:1144) aadressil org.testng. TestNG.run (TestNG.java:1115) aadressil org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:132) aadressil org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:230) aadressil org.testng .RemoteTestNG.main (RemoteTestNG.java:76) ======================================= ======== Vaikekatse testid: 3, tõrked: 1, vahelejätmised: 0 ============================== =================== ================================= ================ Vaikekomplekt Testide arv kokku: 3, Rikke: 1, Jätmised vahele: 0 ===================================== ============

Nii et testjuhtumite haldamisega seotud mõisted on sellega lõppenud. Meile jääb veel üks teema ja see on aruannete koostamine. Aruannete genereerimine on selle Seleeni WebDriveri õpetuse viimane teema, kuna aruandeid saab luua alles pärast kõikitestid viiakse läbi.

kuidas andmebaasi testida

Aruande genereerimine

Kõige olulisem on see, et aruanne luuakse ainult .xml-faili kaudu. See tähendab, olgu see siis meetod, olgu see klass või rühm, mida soovite testida, kõik need tuleb määrata .xml-failis.

Nii et kõigepealt saate oma projekti alla luua uue kausta ja luua selle kausta sisse uue faili, anda failile nimi ja salvestada see laiendiga .xml. Uue kausta ja faili saate luua, kui paremklõpsate paketiuurijal. Kui olete faili loonud, minge akna alt vahekaardile allikas ja sisestage konfiguratsioonid, nagu on määratletud allpool olevas koodilõigus.

 

Esimene rida on XML-dokumendi tüübi määratlus. See on kõigi katseprotokollide jaoks kohustuslik ja kohustuslik. Kuid teised read on üsna iseenesestmõistetavad. Olen kasutanud avatud silte sviidi, testi, tundide ja klassi jaoks. Kursuse Kursused sees võib olla üks või mitu klassi. Seega saab seda kasutada, kui soovime luua aruande, kus testime mitut klassi. See on mugav eelkõige arendajatele, kes soovivad testida pikka koodijuppi.

Meie aruande juurde naastes saate pärast nende siltide avamist nimetada iga komplekti, testi või klassi ja meeles pidada, et sulgege kõik avatavad sildid. Olen oma sviidi nime pannud kui TestNG-d , testi nimi kui Test Annotatsioonid ja klassi nimi kui testng.TestAnnotations. Pange tähele, et klassi nimi on vormingus ' pakkenimi.klassinimi ” .

Kui käivitate selle faili TestNG paketina, käivitatakse käivitamine ja saate üksikasjalikud testiaruanded. Testväljundi leiate oma konsooli vahekaardilt ja testipaketi tulemused järgmisel vahekaardil. Aruanne, mille olen oma koodi käivitamiseks loonud, onaastalallpool olev ekraanipilt. Märkate, et seekord on olemas komplekti nimi, testi nimi, klassi nimi ja nende täitmiseks kuluv aeg.

Kui soovite vaadata HTML-i aruannet (Indeksi aruanne või E-postiga saadetav aruanne), võite minna test-väljund tööruumis olevas kataloogis olev kaust. Neil klõpsates saate aruandeid vaadata ka hilisemal ajahetkel. Allpool on nende ekraanipildid.

Indeksi aruanne : -

E-postiga saadetav aruanne : -

Nii et see viib meid selle Seleeni WebDriveri õpetusblogi lõppu. Teie jaoks on aeg seadistada varjutus, installida erinevad Seleeni paketid, installida TestNG ja alustada testijuhtumite kirjutamist.

Selles blogis selgitatud erinevate kontseptsioonide tutvustamiseks võite vaadata allpool olevat Seleeni WebDriveri õppevideot.

Seleeni koolitus TestNG raamistik seleeni jaoks Edureka

See Edureka seleenikoolituse video juhatab teid läbi seleeni WebDriveri üksikasjalike üksikasjade. See seleeni õppevideo sobib ideaalselt nii algajatele kui ka professionaalidele, kes soovivad täiustada WebDriveri käskude põhitõdesid ja õppida, kuidas TestNG-d saab kasutada seleeniga erinevate testjuhtumite haldamiseks.

Kui soovite õppida seleeni ja luua karjääri testimisvaldkonnas, vaadake meie interaktiivset veebipõhist otseülekannet siin on 24 * 7 tugi, mis juhendab teid kogu õppeperioodi vältel.

Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ja võtame teiega ühendust.