Vse, kar morate vedeti o opombah TestNG v selenu



Ta članek o pripisih TestNG v seleniju vam bo s pomočjo primerov pomagal razumeti različne pripise, ki jih TestNG podpira v selenu.

Vse od koncepta je bilo uvedenih veliko metodologij testiranja, paradigme so se spremenile, vendar so zahteve nekako zmagale, da ostanejo nespremenjene. Ena takih metodologij je TestNG kar nam pomaga razvrščati testne primere v različne odseke kode s pomočjo opomb. Kako pa deluje? Razumimo ta koncept s pomočjo članka tega članka o opombah TestNG v .

V tem članku bom obravnaval spodaj omenjene teme:





Uvod v TestNG

TestNG pomeni Preizkusite naslednjo generacijo in je odprtokodni okvir za avtomatizacijo preskusov, ki ga navdihujejo JUnit in NUnit. No, TestNG ni le navdih, ampak je nadgrajena različica teh dveh okvirov. Kaj je torej nadgradnja tukaj? Nadgradnja s TestNG je v tem, da ponuja dodatne funkcije, kot so testni komentarji, razvrščanje v skupine, določanje prioritet, parametriranje in tehnike zaporedja v kodi, kar prej ni bilo mogoče.

Uvod v TestNG - Pripisi TestNG - EdurekaNe samo, da obvladuje primere preizkusov, ampak lahko z uporabo TestNG dobite tudi podrobna poročila o testih. Podroben povzetek bo prikazal število neuspešnih testnih primerov. Prav tako je mogoče napake najti natančno in jih odpraviti čim prej. Zdaj, ko veste, kaj je TestNG, poglejmo, zakaj uporabiti TestNG v selenu.



Zakaj uporabljati TestNG v selenu?

Razvijalci programske opreme z vsega sveta se bodo soglasno strinjali, da pisanje kode v testnih primerih prihrani dobršen del njihovega časa za odpravljanje napak. Zakaj? To je zato, ker testni primeri pomagajo pri ustvarjanju robustne kode brez napak, tako da celotno kodo razbijejo na manjše testne primere, nato pa lahko z ocenjevanjem vsakega od teh testnih primerov prenesete / neuspešne kode ustvarite kodo brez napak. Od ne podpira izvajanja kode v testnih primerih, TestNG se pojavi, kar bo pomagalo pri izvedbi testnih primerov.

TestNG podpira tudi naslednje funkcije:

  • Poročilo ustvari v ustrezni obliki, ki vključuje število izvršenih testnih primerov, število neuspešnih testnih primerov in preskočenih testnih primerov.
  • Več testnih primerov je lažje združiti, če jih pretvorite v datoteko TestNG.xml. Tu lahko nastavite prioritete za izvajanje testnih primerov.
  • Z uporabo TestNG lahko izvedete več testnih primerov v več brskalnikih, tj. preskušanje med brskalniki .
  • Preskusni okvir je mogoče enostavno integrirati z orodji, kot so Maven, Jenkins itd.

Zdaj, ko veste, kaj je TestNG in zakaj se uporablja, pojdimo naprej in poznamo različne opombe, ki jih TestNG podpira v selenu.

Pripisi TestNG

Pripisi TestNG v selenu se uporabljajo za nadzor naslednje metode, ki jo je treba izvesti. Testne opombe so definirane pred vsako metodo v testni kodi. V primeru, da katera koli metoda nima predpone z opombami, bo ta metoda prezrta in ne bo izvedena kot del testne kode. Za njihovo določitev je treba metode preprosto označiti z „ @Test ‘.



Vrste opomb TestNG:

Spodaj je seznam pripisov, ki jih TestNG podpira v selenu.

  • @BeforeMethod: Metoda s tem pripisom bo izvedena pred vsakim @test anotirana metoda.
  • @AfterMethod: To pripis se bo izvedel po vsakem @test anotirana metoda.
  • @BeforeClass: Ta pripis bo izveden prej najprej @Test izvajanje metode. Poteka samo enkrat na razred.
  • @AfterClass: T njegova opomba se bo izvedla po zagonu vseh preskusnih metod v trenutnem razredu
  • @BeforeTest: Metoda s tem pripisom bo izvedena že prej najprej @Test anotirana metoda.
  • @AfterTest: Metoda s tem pripisom se izvede, ko vse @Test anotirane metode dokončajo izvajanje tistih razredov, ki so znotraj oznake TestNG.xml mapa.
  • @BeforeSuite: Ta pripis se bo zagnal samo enkrat prej vsi preskusi v paketu so se zagnali
  • @AfterSuite: Zagnala se bo metoda s tem pripisom enkrat po izvedeno je bilo izvajanje vseh testov v paketu
  • @BeforeGroups: Ta označena metoda se bo izvajala pred prvo preizkusno vožnjo te posebne skupine.
  • @AfterGroups: Ta označena metoda se bo izvajala po vseh preskusnih metodah te skupine dokonča svoje izvajanje.

Gre torej za pripise v TestNG. Zdaj pa pojdimo naprej in razumemo, kako napisati prvi testni primer z uporabo TestNG.

Ustvarjanje testnih primerov z uporabo opomb TestNG

Različni koraki pri ustvarjanju testnih primerov s pomočjo opombe TestNG so naslednji:

  1. Ustvarite projekt in dodajte knjižnico TestNG.
  2. Ustvarite datoteko predavanja in kodirajte program
  3. Na koncu napišite datoteko XML in jo zaženite v programu TestNG Suite.

Če se želite podrobneje seznaniti s pisanjem testnega primera z uporabo TestNG, vljudno preglejte ta članek Vadnica za TestNG . Zdaj pa pojdimo naprej in razumemo, kako vam bodo pripisi TestNG pomagali pri združevanju testnih primerov in konfiguriranju programa.

Testni primer 1:

V tem testnem primeru bom uporabil tri različne pripise in kodiral program. Razumejmo, kako to narediti s spodnjim primerom.

paket co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test javni razred AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('zagon brskalnika Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = nov ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String očekujeTitle = 'Spletno usposabljanje pod vodstvom inštruktorja s 24-krat življenjsko podporo @AfterTest javna praznina terminateBrowser () {driver.close ()}}

V bistvu želim preveriti, ali se dejanski naslov spletne strani Edureka ujema s pričakovanim naslovom ali ne. Torej, najprej uporabljam @BeforeTest ’ Pripis in izdelava primerka gonilnika brskalnika in krmarjenje po spletnem mestu Edureka z uporabo driver.get () metoda. To so koraki, ki jih je treba izvesti pred preskusom.

Nato med tem testom želim preveriti, ali se pričakovani naslov in dejanski naslov ujemata ali ne. Zato v @Test Annotation določim vse korake. Na koncu želim zapreti gonilnik in po preizkusu ukiniti brskalnik. Zato uporabljam @AfterTest Pripis in zapiranje gonilnika. Torej, tako združujem celotno kodo v različne pripise in izvajam testni primer. Zaženimo program kot TestNG Test in preverimo rezultate.

Na posnetku lahko vidite, da se je testni primer uspešno zagnal v privzetem testu in paketu. Tudi testni primer je bil uspešno opravljen in tudi okvare ni.

Zdaj pa si oglejmo še en primer za poglobljeno razumevanje poteka izvajanja različnih pripisov. Zelo nujno je poznati potek izvajanja pripisov. Torej, oglejmo si spodnji posnetek, če želite vedeti o njem.

Potek izvajanja pripisov bo tak, kot je prikazano na zgornjem posnetku. Zdaj pa poglejmo še en primer za razumevanje istega.

Testni primer 2:

paket co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test javni razred testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println ('Test Case 1')} // Test Case 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Method ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('Po razredu')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('Po preizkusu')} @BeforeSuite javna void beforeSuite () {System.out.println ('Pred Suite')} @AfterSuite javna void afterSuite () {System.out.println ( 'After Suite')}}

V zgornji kodi naključno pišem vse metode z opombami. Ne sledim njegovemu zaporedju. Ko pa zaženem program, bo sledil istemu vrstnemu redu. Preverimo zdaj izhod.

[RemoteTestNG] zazna TestNG različica 6.14.2 Pred Suite pred testom Pred razredom Pred testom Primer 1 Po metodi Pred metodo Test Primer 2 Po metodi Po razredu Po preizkusu MENJEN: testCase1 MENJEN: testCase2 =========== ==================================== Privzeti test Zaženi testi: 2, napake: 0, preskoki: 0 =================================================== Po Suite = ================================================ Privzeti paket Skupaj preskusov zagon: 2, napake: 0, preskoki: 0 ========================================= ========

Iz zgornjega izhoda lahko opazite, da je izvedel tako testne primere kot tudi Pred Suite in After Suite, izvedene samo enkrat. Tudi test je uspešno tekel na privzetem testu in paketu. Tako morate izvesti testne primere z uporabo pripisov.Tako smo prišli do konca tega članka o TestNG Annotations v selenu.

Upam, da ste razumeli koncepte in so dodali vrednost vašemu znanju. Če želite več vpogleda v selen, si oglejte članek o tem .

Če ste našli to “TestNG Annotations in Selenium 'Ustrezne, preverite Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu.

kako ustvariti naključni niz v javi -

Imate vprašanje za nas? Prosimo, navedite to v oddelku za komentarje v Pripombe TestNG v selenu in se bomo oglasili pri vas.