Sve što trebate znati o TestNG napomenama u selenu



Ovaj članak o TestNG napomenama u selenu pomoći će vam da pomoću primjera razumijete razne napomene koje TestNG podržava u selenu.

Još od koncepta je uvedeno, razvilo se puno metodologija ispitivanja, promijenile su se paradigme, ali zahtjevi su nekako pobjedili kako bi ostali stalni. Jedna od takvih metodologija je TestNG što nam pomaže grupirati test slučajeve u različite odjeljke koda uz pomoć Bilješki. Ali kako to djeluje? Razumijemo ovaj koncept kroz medij ovog članka o TestNG Annotations u .

U ovom članku pokrivat ću dolje spomenute teme:





Uvod u TestNG

TestNG stoji za Testirajte sljedeću generaciju i to je okvir za automatizaciju ispitivanja otvorenog koda nadahnut JUnit-om i NUnit-om. Dobro, TestNG nije samo nadahnuta, već je nadograđena verzija ova dva okvira. Pa, koja je ovdje nadogradnja? Nadogradnja s TestNG-om je u tome što pruža dodatne funkcije kao što su anotacije testa, grupiranje, određivanje prioriteta, parametriranje i tehnike sekvenciranja u kodu što ranije nije bilo moguće.

Uvod u TestNG - Bilješke o TestNG-u - EdurekaNe samo da upravlja testnim slučajevima, nego se čak i detaljna izvješća o testovima mogu dobiti pomoću TestNG-a. Bit će detaljan sažetak koji će prikazati broj testnih slučajeva koji nisu uspjeli. Također, bugovi se mogu točno utvrditi i popraviti najranije. Sad kad znate što je TestNG, pogledajmo zašto koristiti TestNG u selenu.



Zašto koristiti TestNG u selenu?

Programeri softvera iz cijelog svijeta jednoglasno će se složiti da pisanje koda u testnim slučajevima štedi dobar dio njihovog vremena za uklanjanje pogrešaka. Zašto? To je zato što testni slučajevi pomažu u stvaranju robusnog koda bez pogrešaka razbijanjem cijelog koda na manje testne slučajeve, a zatim procjenom svakog od ovih testnih slučajeva da li prolazi / ne uspijeva, možete stvoriti kod bez grešaka. Od ne podržava izvršavanje koda u test slučajevima, TestNG dolazi na sliku koja će pomoći u izvršavanju test slučajeva.

TestNG također podržava sljedeće značajke:

vrste skupova u javi
  • Generira izvješće u ispravnom formatu koji uključuje niz izvršenih testnih slučajeva, broj neuspješnih testnih slučajeva i preskočenih testnih slučajeva.
  • Višestruki testovi mogu se lakše grupirati pretvaranjem u datoteku TestNG.xml. Ovdje možete postaviti prioritete za izvršavanje testnih slučajeva.
  • Pomoću TestNG-a možete izvršiti više testnih slučajeva na više preglednika, tj. testiranje u više preglednika .
  • Okvir za testiranje može se lako integrirati s alatima kao što su Maven, Jenkins itd.

Sad kad znate što je TestNG i zašto se koristi, krenimo dalje i upoznajmo razne napomene koje TestNG podržava u selenu.

Bilješke TestNG-a

Bilješke TestNG-a u selenu koriste se za kontrolu sljedeće metode koja će se izvršiti. Oznake testa definirane su prije svake metode u testnom kodu. U slučaju da nijedna metoda nema prefiks s bilješkama, tada će se ta metoda zanemariti i neće se izvršiti kao dio testnog koda. Da bi ih definirali, metode treba jednostavno označiti s ' @Test ‘.



Vrste probnih napomena:

Ispod je popis napomena koje TestNG podržava u selenu.

  • @BeforeMethod: Metoda s ovom bilješkom izvršit će se prije svake @test anotirana metoda.
  • @AfterMethod: Ovo napomena će se izvršiti nakon svake @test anotirana metoda.
  • @BeforeClass: Ova će se napomena izvršiti prije prvo @Test izvršenje metode. Izvodi se samo jednom po nastavi.
  • @AfterClass: T njegova će se napomena izvršiti nakon pokretanja svih metoda ispitivanja u trenutnoj klasi
  • @BeforeTest: Metoda s ovom bilješkom izvršit će se prije prvo @Test anotirana metoda.
  • @AfterTest: Metoda s ovom bilješkom izvršit će se kada svi @Test anotirane metode dovršavaju izvršavanje onih klasa koje su unutar oznake TestNG.xml datoteka.
  • @BeforeSuite: Izvest će se ova napomena samo jednom prije svi testovi u paketu su pokrenuti
  • @AfterSuite: Izvršit će se metoda s ovom bilješkom jednom nakon izvršeno je izvršavanje svih testova u paketu
  • @BeforeGroups: Izvest će se ova označena metoda prije prvog probnog rada te specifične skupine.
  • @AfterGroups: Izvest će se ova označena metoda nakon svih metoda ispitivanja te skupine dovršava njezino izvršenje.

Dakle, ovdje se radi o bilješkama u TestNG-u. Krenimo sada dalje i shvatimo kako napisati prvi testni slučaj pomoću TestNG-a.

Stvaranje test slučajeva pomoću TestNG napomena

Različiti koraci koji se uključuju u stvaranje test slučajeva pomoću TestNG Annotation su sljedeći:

  1. Izradite projekt i dodajte TestNG knjižnicu.
  2. Stvorite datoteku klase i kodirajte program
  3. Na kraju, napišite XML datoteku i pokrenite je na TestNG Suite.

Ako želite ući u više detalja o pisanju testnog slučaja pomoću TestNG-a, onda ljubazno provjerite ovaj članak Vodič za TestNG . Krenimo sada dalje i shvatimo kako će vam napomene TestNG pomoći da grupirate test slučajeve i konfigurirate svoj program.

Testni slučaj 1:

U ovom testnom slučaju koristit ću tri različite Bilješke i kodirati program. Razumijemo kako to učiniti pomoću donjeg primjera.

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 javna klasa 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 ('pokretanje preglednika Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = novi ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String očekujeTitle = 'Online trening pod vodstvom instruktora s 24X7 doživotnom podrškom @AfterTest javna praznina terminateBrowser () {driver.close ()}}

U osnovi želim provjeriti podudara li se stvarni naslov web stranice Edureka s očekivanim naslovom ili ne. Dakle, prvo koristim ' @BeforeTest ’ Bilješka i stvaranje instance upravljačkog programa preglednika i kretanje kroz web stranicu Edureka pomoću driver.get () metoda. Ovo su koraci koje treba obaviti prije testa.

Dalje, tijekom ovog testa želim provjeriti podudaraju li se očekivani naslov i stvarni naslov. Zbog toga preciziram sve korake s @Test Annotation. Napokon, želim zatvoriti upravljački program i prekinuti preglednik nakon testa. Zato koristim @AfterTest Napomena i zatvaranje vozača. Dakle, ovako grupiram cijeli kôd u razne bilješke i izvršavam testni slučaj. Pokrenimo program kao TestNG Test i provjerimo izlaz.

Na snimci možete vidjeti da se testni slučaj uspješno pokrenuo na zadanom testu i paketu. Također, test je slučaj prošao i nema neuspjeha.

apstrakcija podataka u c ++

Pogledajmo sada još jedan primjer za dublje razumijevanje tijeka izvršavanja različitih napomena. Vrlo je potrebno znati tijek izvršavanja napomena. Dakle, pogledajmo donji snimak da bismo znali o njemu.

Tijek izvršavanja napomena bit će kako je prikazano na gornjoj snimci. Pogledajmo sada još jedan primjer za razumijevanje istog.

Testni slučaj 2:

niz objekata u javi
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 public class 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 Metoda ')} @AfterMethod javna praznina afterMethod () {System.out.println (' Nakon metode ')} @BeforeClass javna praznina prijeClass () {System.out.println (' Prije klase ')} @AfterClass javna praznina afterClass ( ) {System.out.println ('Nakon klase')} @BeforeTest javna praznina beforeTest () {System.out.println ('Prije testa')} @AfterTest javna praznina afterTest () {System.out.println ('Nakon testa')} @BeforeSuite javna praznina beforeSuite () {System.out.println ('Prije paketa')} @AfterSuite javna praznina afterSuite () {System.out.println ( 'After Suite')}}

U gornji kod nasumično zapisujem sve metode s Bilješkama. Ne slijedim njegov slijed. Ali, kad izvršim program, slijedit će isti redoslijed. Provjerimo sada izlaz.

[RemoteTestNG] otkrio TestNG verziju 6.14.2 Prije Suitea prije testiranja Prije klase Prije metode Test slučaj 1 Nakon metode prije metode Test slučaj 2 Nakon metode nakon klase Nakon testa PASSED: testCase1 PASSED: testCase2 =========== ==================================== Zadani test Pokrenuti testovi: 2, Kvarovi: 0, Preskoči: 0 ============================================================== After Suite = ================================================ Zadani paket Ukupno ispitivanja trčanje: 2, neuspjesi: 0, preskakanje: 0 ========================================= ========

Iz gornjeg izlaza možete primijetiti da je izvršio i test slučajeve i Prije Suite i After Suite izvršeni samo jednom. Također, test je uspješno pokrenut na zadanom testu i paketu. Na ovaj način trebate izvršiti test slučajeve pomoću Bilješki.To nas dovodi do kraja ovog članka o TestNG bilješkama u selenu.

Nadam se da ste razumjeli koncepte i to je dodalo vrijednost vašem znanju. Ako želite saznati više o seleniju, možete pogledati članak o tome .

Ako ste pronašli ovaj “TestNG Bilješke u selenu ”Relevantno, provjerite Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.

Imate pitanje za nas? Navedite to u odjeljku za komentare na Bilješke TestNG-a u selenu i javit ćemo vam se.