Mula pa nang ang konsepto ng ipinakilala, maraming mga pamamaraan ng pagsubok ang nagbago, ang mga tularan ay nagbago ngunit ang mga kinakailangan sa paanuman ay nagwagi upang manatiling pare-pareho. Ang isang tulad ng pamamaraan ay PagsubokNG na makakatulong sa amin na mapangkat ang mga kaso ng pagsubok sa iba't ibang mga seksyon ng code sa tulong ng Annotations. Ngunit paano ito gumagana? Unawain natin ang konseptong ito sa pamamagitan ng daluyan ng artikulong ito sa Mga Annotasyon ng TestNG sa .
Saklaw ko ang mga paksang nabanggit sa ibaba sa artikulong ito:
- Panimula sa TestNG
- Bakit ginagamit ang TestNG sa Selenium?
- Mga Annotasyon ng TestNG sa Selenium
- Lumilikha ng Mga Kaso sa Pagsubok gamit ang Mga Annotasyon ng TestNG
Panimula sa TestNG
PagsubokNG ibig sabihin Subukan ang Susunod na Henerasyon at ito ay isang open-source test automation framework na inspirasyon ng JUnit at NUnit. Eh PagsubokNG ay hindi lamang inspirasyon ngunit, ito ay isang na-upgrade na bersyon ng dalawang mga balangkas na ito. Kaya ano ang pag-upgrade dito? Ang pag-upgrade sa TestNG ay nagbibigay ito ng karagdagang pag-andar tulad ng mga anotasyon ng pagsubok, pagpapangkat, prioritization, parameterization at pagkakasunud-sunod ng mga diskarte sa code na kung saan ay hindi posible nang mas maaga.
Hindi lamang nito pinamamahalaan ang mga kaso ng pagsubok, ngunit kahit na ang detalyadong mga ulat ng mga pagsubok ay maaari ding makuha sa pamamagitan ng paggamit ng TestNG. Magkakaroon ng isang detalyadong buod na magpapakita ng bilang ng mga kaso ng pagsubok na nabigo. Gayundin, ang mga bug ay maaaring matagpuan nang tumpak at naayos sa pinakamaagang. Ngayong alam mo na kung ano ang TestNG, tingnan natin kung bakit gamitin ang TestNG sa Selenium.
Bakit ginagamit ang TestNG sa Selenium?
Ang mga tagabuo ng software mula sa buong mundo ay magkakasundo na sasang-ayon na ang pagsulat ng code sa mga kaso ng pagsubok ay nakakatipid ng isang mahusay na bahagi ng kanilang oras ng pag-debug. Bakit? Iyon ay dahil ang mga kaso ng pagsubok ay makakatulong sa paglikha ng matatag at walang error na code sa pamamagitan ng pagwawasak sa buong code sa mas maliit na mga kaso ng pagsubok, at pagkatapos ay sa pamamagitan ng pagsusuri ng bawat isa sa mga kaso ng pagsubok na ito upang pumasa / mabigo ang mga kundisyon, maaari kang lumikha ng code na walang error. Mula noon ay hindi sumusuporta sa pagpapatupad ng code sa mga kaso ng pagsubok, ang TestNG ay nasa larawan na makakatulong sa pagpapatupad ng mga kaso ng pagsubok.Sinusuportahan din ng TestNG ang mga sumusunod na tampok:
- Bumubuo ito ng ulat sa isang tamang format na nagsasama ng isang bilang ng mga naipatupad na mga kaso ng pagsubok, ang bilang ng mga nabigong mga kaso sa pagsubok, at mga kaso ng pagsubok na napalaktawan.
- Ang maramihang mga kaso ng pagsubok ay maaaring mapangkat nang mas madali sa pamamagitan ng pag-convert sa kanila sa TestNG.xml file. Dito, maaari mong itakda ang mga priyoridad upang maipatupad ang mga kaso ng pagsubok.
- Gamit ang TestNG, maaari kang magpatupad ng maraming mga kaso ng pagsubok sa maraming mga browser, ibig sabihin, pagsubok sa cross-browser .
- Ang framework ng pagsubok ay maaaring madaling isama sa mga tool tulad ng Maven, Jenkins, atbp.
Ngayong alam mo na kung ano ang TestNG at kung bakit ito ginagamit, lumipat tayo nang malayo at alamin ang iba't ibang Mga Annotasyon na sinusuportahan ng TestNG sa Selenium.
Mga Annotasyon ng TestNG
Ginagamit ang mga TestNG Annotation sa Selenium upang makontrol ang susunod na pamamaraan na naisakatuparan. Ang mga anotasyon sa pagsubok ay tinukoy bago ang bawat pamamaraan sa test code. Kung sakaling ang anumang pamamaraan ay hindi pauna sa mga anotasyon, kung gayon ang pamamaraan na iyon ay hindi papansinin at hindi ito isasagawa bilang isang bahagi ng test code. Upang tukuyin ang mga ito, ang mga pamamaraan ay kailangang simpleng i-annotate ng ‘ @Pagsusulit ‘.
Mga uri ng Annotation ng TestNG:
Nasa ibaba ang listahan ng mga anotasyon na sinusuportahan ng TestNG sa siliniyento.
php i-convert ang array sa object
- @BeforeMethod: Ang isang pamamaraan na may anotasyon na ito ay naisasagawa bago ang bawat isa @pagsusulit anotadong pamamaraan.
- @AfterMethod: Ito ang anotasyon ay papatayin pagkatapos ng bawat @pagsusulit anotadong pamamaraan.
- @Bago mag klase: Ang anotasyon na ito ay naisasagawa bago una @Test pagpapatupad ng pamamaraan. Minsan lang itong tumatakbo bawat klase.
- @AfterClass: T ang kanyang anotasyon ay papatayin matapos ang lahat ng mga pamamaraan ng pagsubok sa kasalukuyang klase ay naipatakbo
- @BeforeTest: Ang isang pamamaraan na may anotasyon na ito ay naisasagawa bago una @Test anotadong pamamaraan.
- @AfterTest: Ang isang pamamaraan na may anotasyong ito ay papatayin kung kailan lahat @Pagsusulit anotadong pamamaraan kumpletuhin ang pagpapatupad ng mga klase na kung saan ay insidetag in TestNG.xml file
- @BeforeSuite: Tatakbo ang anotasyon na ito minsan lang dati lahat ng mga pagsubok sa suite ay tumakbo
- @AfterSuite: Ang isang pamamaraan na may anotasyong ito ay tatakbo sabay pagkatapos ang pagpapatupad ng lahat ng mga pagsubok sa suite ay tumakbo
- @BeforeGroups: Tatakbo ang anotadong pamamaraan na ito bago ang unang test run ng tiyak na pangkat na iyon.
- @AfterGroups: Tatakbo ang anotadong pamamaraan na ito pagkatapos ng lahat ng mga pamamaraan ng pagsubok ng pangkat na iyon nakumpleto ang pagpapatupad nito.
Kaya't ang lahat ay tungkol sa Annotations sa TestNG. Lumipat tayo ngayon at unawain kung paano magsulat ng isang unang kaso ng pagsubok gamit ang TestNG.
Lumilikha ng Mga Kaso sa Pagsubok gamit ang Mga Annotasyon ng TestNG
Ang iba't ibang mga hakbang na kasangkot sa paglikha ng mga kaso ng pagsubok na gumagamit ng Annotation ng TestNG ay ang mga sumusunod:
- Lumikha ng isang proyekto at idagdag ang TestNG Library.
- Lumikha ng isang file ng klase at i-code ang programa
- Panghuli, isulat ang XML file at ipatupad ito sa TestNG Suite.
Kung nais mong makakuha ng higit pang mga detalye tungkol sa pagsulat ng isang kaso ng pagsubok gamit ang TestNG, pagkatapos ay mabait na suriin ang artikulong ito Tutorial sa TestNG . Ngayon, lumipat tayo nang malayo at unawain kung paano makakatulong sa iyo ang mga anotasyon ng TestNG upang mapangkat ang mga kaso ng pagsubok at i-configure ang iyong programa.
Kaso sa Pagsubok 1:Sa kasong ito sa pagsubok, gagamit ako ng tatlong magkakaibang Annotation at i-code ang programa. Unawain natin kung paano ito gawin sa halimbawa sa ibaba.
package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng. I-import ang org.testng.annotations. AfterTest import org.testng.annotations. BagoTest import org.testng .annotations.Test public class 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 ('paglulunsad ng Chrome browser') System.setProperty ('webdriver.chrome.driver', driverPath) driver = bagong ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Pagsasanay na Pinangunahan ng Online na Tagapagturo na may 24X7 Pamumuhay na Suporta @AfterTest pampublikong walang bisa na wakasanBrowser () {driver.close ()}}
Talaga, nais kong suriin kung ang tunay na pamagat ng Edureka webpage ay tumutugma sa inaasahang pamagat o hindi. Kaya, gumagamit muna ako ng ‘ @BeforeTest ’ Anotasyon at paglikha ng isang halimbawa ng driver ng browser at pag-navigate sa pamamagitan ng Edureka website gamit ang driver.get () paraan Kaya ito ang mga hakbang na dapat gumanap bago ang pagsubok.
Susunod, sa pagsubok na ito, nais kong suriin kung ang inaasahang pamagat at aktwal na pamagat ay tumutugma o hindi. Iyon ang dahilan kung bakit tinutukoy ko ang lahat ng mga hakbang sa @Test Annotation. Sa wakas, nais kong isara ang driver at wakasan ang browser pagkatapos ng pagsubok. Iyon ang dahilan kung bakit ako gumagamit @AfterTest Annotation at pagsasara ng driver. Kaya't ito ay kung paano ko pinagsasama ang buong code sa iba't ibang mga anotasyon at isinasagawa ang kaso ng pagsubok. Patakbuhin natin ang programa bilang TestNG Test at suriin ang output.
Maaari mong makita sa snapshot na matagumpay na tumatakbo ang kaso ng pagsubok sa isang default na pagsubok at suite. Gayundin, naipasa ang kaso ng pagsubok at walang pagkabigo rin.
Ngayon tingnan natin ang isa pang halimbawa upang maunawaan ang daloy ng pagpapatupad ng iba't ibang mga anotasyon nang malalim. Napakailangan na malaman ang daloy ng pagpapatupad ng mga anotasyon. Kaya, tingnan natin ang snapshot sa ibaba upang malaman ang tungkol dito.
Ang daloy ng pagpapatupad ng mga anotasyon ay ipapakita sa snapshot sa itaas. Ngayon tingnan natin ang isa pang halimbawa upang maunawaan ang pareho.
Kaso sa Pagsubok 2:
package 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. Subukan ang pampublikong klase na testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println ('Kaso ng Pagsubok 1')} // Kaso ng Pagsubok 2 @Test sa publiko walang bisa testCase2 () {System.out.println ('Kaso sa Pagsubok 2')} @BeforeMethod publiko na walang bisa bagoMethod () {System.out.println ('Bago Pamamaraan ')} @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 ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}
Sa code sa itaas, ako ay random na nagsusulat ng lahat ng mga pamamaraan sa Annotations. Hindi ko sinusunod ang pagkakasunud-sunod nito. Ngunit, kapag naipatupad ko ang programa, susundan nito ang parehong pagkakasunud-sunod. Suriin natin ngayon ang output.
[RemoteTestNG] napansin ang bersyon ng TestNG 6.14.2 Bago ang Suite Bago Pagsubok Bago ang Klase Bago ang Pamamaraan Pagsubok Kaso 1 Pagkatapos ng Pamamaraan Bago Pamamaraan Pagsubok Kaso 2 Pagkatapos ng Pamamaraan Pagkatapos ng Klase Pagkatapos na NAPASSAN ANG test: ==================================== Tumatakbo ang mga default na pagsubok sa pagsubok: 2, Mga pagkabigo: 0, Mga Laktawan: 0 =________________________________________________________ After Suite = =________________________________________________________ Default na suite Kabuuang mga pagsubok patakbuhin: 2, Mga Pagkabigo: 0, Mga Laktawan: 0 =________________________________________ ====
Mula sa output sa itaas, mapapansin mong isinasagawa nito ang parehong mga kaso ng pagsubok at isang beses na naisakatuparan ang Bago Suite at After Suite. Gayundin, matagumpay na tumakbo ang pagsubok sa default na pagsubok at suite. Ito ang paraan na kailangan mong isagawa ang mga kaso ng pagsubok gamit ang Annotations.Kaya't dadalhin tayo nito sa pagtatapos ng artikulong ito sa Mga Annotasyon ng TestNG sa Selenium.
Inaasahan kong naunawaan mo ang mga konsepto at nagdagdag ito ng halaga sa iyong kaalaman. Ngayon, kung nais mong makakuha ng higit pang mga pananaw sa Selenium, maaari mong suriin ang artikulo sa .
Kung nahanap mo ang 'Mga Pagsusulit sa TestNG sa Selenium 'Nauugnay, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.
May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng Mga Annotasyon ng TestNG sa Selenium artikulo at babalikan ka namin.