Kopš jēdziena ir ieviesta, daudz testēšanas metodiku ir attīstījusies, paradigmas ir mainījušās, bet prasības kaut kā uzvarēja, lai paliktu nemainīgas. Viena šāda metodika ir TestNG kas palīdz mums grupēt testa gadījumus dažādās koda sadaļās, izmantojot Anotācijas. Bet kā tas darbojas? Sapratīsim šo jēdzienu, izmantojot šo rakstu par TestNG anotācijām .
Šajā rakstā es apskatīšu zemāk minētās tēmas:
kas ir galvenais atslēgas ierobežojums
- Ievads TestNG
- Kāpēc lietot TestNG kopā ar selēnu?
- TestNG anotācijas selēnā
- Testa lietu izveidošana, izmantojot TestNG anotācijas
Ievads TestNG
TestNG apzīmē Pārbaudiet nākamo paaudzi un tā ir atvērtā koda testa automatizācijas sistēma, kuru iedvesmojuši JUnit un NUnit. Nu, TestNG ir ne tikai iedvesmots, bet arī uzlabota šo divu sistēmu versija. Tātad, kas šeit ir jauninājums? Jaunināšana ar TestNG ir tāda, ka tā nodrošina papildu funkcionalitāti, piemēram, testa anotācijas, grupēšanu, prioritāšu noteikšanu, parametru noteikšanu un sekvencēšanas metodes kodā, kas agrāk nebija iespējams.
Tas ne tikai pārvalda testa gadījumus, bet, izmantojot TestNG, var iegūt pat detalizētus pārskatus par testiem. Būs detalizēts kopsavilkums, kurā tiks parādīts neizdevušos testu skaits. Arī kļūdas var precīzi atrast un novērst ātrāk. Tagad, kad jūs zināt, kas ir TestNG, redzēsim, kāpēc izmantot TestNG selēnā.
Kāpēc lietot TestNG selēnā?
Programmatūras izstrādātāji no visas pasaules vienprātīgi piekritīs, ka koda rakstīšana testa gadījumos ietaupa lielu daļu viņu atkļūdošanas laika. Kāpēc? Tas ir tāpēc, ka testa gadījumi palīdz izveidot izturīgu un bez kļūdām kodu, sadalot visu kodu mazākos testa gadījumos, un pēc tam, novērtējot katru no šiem testa gadījumiem, lai izturētu / neizturētu apstākļus, varat izveidot kodu bez kļūdām. Kopš neatbalsta koda izpildi testa gadījumos, TestNG nonāk attēlā, kas palīdzēs testu izpildē.TestNG atbalsta arī šādas funkcijas:
- Tas ģenerē pārskatu pareizā formātā, kas ietver vairākus izpildītus testa gadījumus, neizdevušos testu gadījumu skaitu un izlaistus testa gadījumus.
- Vairākus testa gadījumus var vieglāk sagrupēt, pārveidojot tos failā TestNG.xml. Šeit jūs varat iestatīt pārbaudes gadījumu izpildes prioritātes.
- Izmantojot TestNG, jūs varat izpildīt vairākus testa gadījumus vairākās pārlūkprogrammās, t.i., starp pārlūkprogrammu testēšana .
- Testēšanas sistēmu var viegli integrēt ar tādiem rīkiem kā Maven, Jenkins utt.
Tagad, kad jūs zināt, kas ir TestNG un kāpēc tas tiek izmantots, virzīsimies tālāk un zināsim dažādas anotācijas, kuras TestNG atbalsta Selenium.
TestNG anotācijas
TestNG anotācijas selēnā tiek izmantotas, lai kontrolētu nākamo izpildāmo metodi. Testa anotācijas ir definētas pirms katras testa koda metodes. Gadījumā, ja kāda no metodēm nav prefiksēta ar anotācijām, šī metode tiks ignorēta un netiks izpildīta kā testa koda sastāvdaļa. Lai tās definētu, metodes vienkārši jāpapildina ar “ @Pārbaude “.
TestNG anotāciju veidi:
Zemāk ir saraksts ar anotācijām, kuras TestNG atbalsta selēnā.
- @BeforeMethod: Metode ar šo anotāciju tiks izpildīta pirms katras @pārbaude anotēta metode.
- @PēcMetode: Šis anotācija tiks izpildīta pēc katras @pārbaude anotēta metode.
- @BeforeClass: Šī anotācija tiks izpildīta iepriekš pirmais @Test metodes izpilde. Katrā klasē tas darbojas tikai vienu reizi.
- @ Pēcklase: T viņa anotācija tiks izpildīta pēc visu pašreizējās klases testa metožu izpildes
- @BeforeTest: Metode ar šo anotāciju tiks izpildīta iepriekš pirmais @Test anotēta metode.
- @AfterTest: Metode ar šo anotāciju tiks izpildīta, kad visi @Pārbaude anotētās metodes pabeidz to klašu izpildi, kurās ir ietverts TestNG.xml failu.
- @BeforeSuite: Šī anotācija darbosies tikai vienu reizi iepriekš visi komplekta testi ir izpildīti
- @AfterSuite: Darbosies metode ar šo anotāciju vienreiz pēc tam visu testu izpilde komplektā ir izpildīta
- @BeforeGroups: Šī anotētā metode darbosies pirms pirmā testa brauciena no šīs konkrētās grupas.
- @AfterGroups: Šī anotētā metode darbosies pēc visām testa metodēm šīs grupas izpilde ir pabeigta.
Tātad tas viss ir par TestNG anotācijām. Tagad ejam tālāk un saprotam, kā uzrakstīt pirmo testa gadījumu, izmantojot TestNG.
Testa lietu izveidošana, izmantojot TestNG anotācijas
Dažādas darbības, kas saistītas ar testa gadījumu izveidi, izmantojot TestNG Annotation, ir šādas:
- Izveidojiet projektu un pievienojiet TestNG bibliotēku.
- Izveidojiet klases failu un kodējiet programmu
- Visbeidzot, uzrakstiet XML failu un izpildiet to TestNG Suite.
Ja vēlaties iegūt sīkāku informāciju par testa gadījuma rakstīšanu, izmantojot TestNG, lūdzu, pārbaudiet šo rakstu TestNG apmācība . Tagad ejam tālāk un saprotam, kā TestNG anotācijas palīdzēs grupēt testa gadījumus un konfigurēt programmu.
1. testa gadījums:Šajā testa gadījumā es izmantošu trīs dažādas anotācijas un kodēšu programmu. Sapratīsim, kā to izdarīt, izmantojot tālāk sniegto piemēru.
pakete co.edureka.pages import org.openqa.selenium.WebDriver importēt org.openqa.selenium.chrome.ChromeDriver importēt org.testng.Assert import org.testng.annotations.AfterTest importēt org.testng.annotations.BeforeTest importēt org.testng .nototations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver draiveris @BeforeTest public void launchBrowser () {System.out.println ('pārlūka palaišana') System.setProperty ('webdriver.chrome.driver', driverPath) draiveris = jauns ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Instruktoru vadītā tiešsaistes apmācība ar 24X7 mūža atbalstu @AfterTest public void terminateBrowser () {driver.close ()}}
Būtībā es vēlos pārbaudīt, vai faktiskais Edureka tīmekļa lapas nosaukums atbilst gaidītajam nosaukumam vai nē. Tātad, es vispirms izmantoju @BeforeTest ’ Anotācija un pārlūka draivera eksemplāra izveide un pārvietošanās pa Edureka vietni, izmantojot driver.get () metodi. Tātad šīs ir darbības, kas jāveic pirms testa.
Pēc tam šī testa laikā es vēlos pārbaudīt, vai paredzamais nosaukums un faktiskais nosaukums sakrīt vai nē. Tāpēc es visas darbības precizēju ar @Test Annotation. Visbeidzot, pēc testa es vēlos aizvērt draiveri un pārtraukt pārlūka darbību. Tāpēc es to izmantoju @AfterTest Anotācija un vadītāja aizvēršana. Tā es visu kodu sagrupēju dažādās anotācijās un izpildu testa gadījumu. Palaidīsim programmu kā TestNG Test un pārbaudīsim izvadi.
Momentuzņēmumā varat redzēt, ka testa gadījums tiek veiksmīgi palaists noklusējuma testā un komplektā. Arī testa lieta ir izturēta, un nav arī neveiksmes.
Apskatīsim vēl vienu piemēru, lai padziļināti izprastu dažādu anotāciju izpildes plūsmu. Ir ļoti jāzina anotāciju izpildes plūsma. Apskatīsim zemāk esošo momentuzņēmumu, lai uzzinātu par to.
Anotāciju izpildes plūsma būs tāda, kā parādīts iepriekšējā momentuzņēmumā. Tagad redzēsim vēl vienu piemēru, lai saprastu to pašu.
2. testa gadījums:
pakete co.edureka.pages importēt org.testng.annotations.AfterClass importēt org.testng.annotations.AfterMethod importēt org.testng.annotations.AfterSuite importēt org.testng.annotations.AfterTest importēt org.testng.annotations.BeforeClass importēt org.testng .annotations.BeforeMethod importēt org.testng.annotations.BeforeSuite importēt org.testng.annotations.BeforeTest importēt 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 ('Pirms Metode ')} @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 ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('Pēc testa')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}
Iepriekš minētajā kodā es nejauši rakstīju visas metodes ar anotācijām. Es neievēroju tā secību. Bet, kad es izpildīšu programmu, tā notiks tajā pašā secībā. Tagad pārbaudīsim izvadi.
[RemoteTestNG] atklāja TestNG versiju 6.14.2 Pirms Suite pirms testa pirms klases pirms metodes Pirms testa testa gadījuma 1 pēc metodes pirms metodes testa gadījuma 2 pēc metodes pēc klases pēc testa PASSED: testCase1 PASSED: testCase2 =========== ==================================== Noklusējuma testa testi veikti: 2, neveiksmes: 0, izlaišana: 0 ================================================= Pēc Suite = ================================================ Noklusējuma komplekts Kopējais testu skaits palaist: 2, neveiksmes: 0, izlaist: 0 ========================================= ========
No iepriekš minētās izejas jūs varat pamanīt, ka tā izpildīja gan pārbaudes gadījumus, gan pirms Suite un After Suite - tikai vienu reizi. Arī tests veiksmīgi darbojās noklusējuma testā un komplektā. Tādā veidā jums ir jāizpilda pārbaudes gadījumi, izmantojot anotācijas.Tātad tas noved mūs pie šī raksta par TestNG anotācijām selēnā beigām.
Es ceru, ka jūs sapratāt jēdzienus, un tas pievienoja vērtību jūsu zināšanām. Tagad, ja vēlaties iegūt vairāk ieskatu par selēnu, varat apskatīt rakstu .
Ja atradāt šo “TestNG anotācijas selēnā ”Attiecīgs, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.
Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā TestNG anotācijas selēnā rakstu, un mēs ar jums sazināsimies.