Viskas, ką reikia žinoti apie „TestNG“ anotacijas selene

Šis straipsnis apie „TestNG“ anotacijas selene padės suprasti pavyzdžius naudodamas įvairias anotacijas, kurias „TestNG“ palaiko „Selenium“.

Nuo tada, kai buvo įdiegta, atsirado daugybė bandymų metodikų, pasikeitė paradigmos, tačiau reikalavimai kažkaip triumfavo, kad liktų pastovūs. Viena iš tokių metodikų yra TestNG kuris padeda mums anotacijų pagalba sugrupuoti bandymo atvejus į skirtingas kodo dalis. Bet kaip tai veikia? Supraskime šią sampratą naudodamiesi šiuo straipsniu apie TestNG anotacijas .

Šiame straipsnyje aptarsiu žemiau paminėtas temas:

Įvadas į TestNG

TestNG reiškia Išbandykite naujos kartos ir tai yra „JUnit“ ir „NUnit“ įkvėpta atvirojo kodo bandymų automatikos sistema. Na, TestNG yra ne tik įkvėpta, bet ir atnaujinta šių dviejų sistemų versija. Taigi, koks čia atnaujinimas? Atnaujinimas naudojant „TestNG“ suteikia papildomą funkciją, pvz., Testo anotacijas, grupavimą, prioritetų nustatymą, parametrų nustatymą ir sekos nustatymo metodus kode, kurio anksčiau nebuvo įmanoma atlikti.

„TestNG“ įvadas - „TestNG“ anotacijos - „Edureka“Ji ne tik tvarko bandymų atvejus, bet ir naudojant TestNG galima gauti net išsamias tyrimų ataskaitas. Bus išsami santrauka, kurioje bus parodytas nesėkmingų bandymų atvejų skaičius. Be to, klaidas galima nustatyti ne anksčiau kaip anksčiau ir tiksliai. Dabar, kai žinote, kas yra TestNG, pažiūrėkime, kodėl naudoti TestNG selene.

Kodėl verta naudoti TestNG selene?

Programinės įrangos kūrėjai iš viso pasaulio vieningai sutiks, kad rašant kodą bandomaisiais atvejais sutaupoma didelė jų derinimo laiko dalis. Kodėl? Taip yra todėl, kad bandymo atvejai padeda sukurti patikimą ir be klaidų kodą, suskaidydami visą kodą į mažesnius bandymo atvejus, o tada, įvertinę kiekvieną iš šių bandymo atvejų, kad išlaikytų / nepavyktų sąlygas, galite sukurti kodą be klaidų. Nuo nepalaiko kodo vykdymo bandomaisiais atvejais, TestNG patenka į paveikslėlį, kuris padės atlikti bandomuosius atvejus.

„TestNG“ taip pat palaiko šias funkcijas:

mongodb sukurti vartotoją duomenų bazei
  • Ji sugeneruoja ataskaitą tinkamu formatu, į kurią įeina daugybė atliktų bandymų atvejų, nepavykusių ir praleistų bandymų atvejų skaičius.
  • Kelis bandomuosius atvejus galima lengviau sugrupuoti, paverčiant juos į TestNG.xml failą. Čia galite nustatyti bandymų vykdymo prioritetus.
  • Naudodami „TestNG“ galite atlikti kelis bandymo atvejus keliose naršyklėse, t. kelių naršyklių testavimas .
  • Testavimo sistemą galima lengvai integruoti su tokiais įrankiais kaip „Maven“, „Jenkins“ ir kt.

Dabar, kai žinote, kas yra TestNG ir kodėl jis naudojamas, eikime toliau ir žinokime įvairias anotacijas, kurias TestNG palaiko Selene.

TestNG anotacijos

„SelNium“ „TestNG“ anotacijos naudojamos valdyti kitą vykdytiną metodą. Testo anotacijos yra apibrėžtos prieš kiekvieną bandymo kodo metodą. Tuo atveju, kai kuris nors metodas nėra pažymėtas anotacijomis, tas metodas bus ignoruojamas ir nebus vykdomas kaip testo kodo dalis. Norint juos apibrėžti, metodus reikia tiesiog komentuoti „ @Test „.

TestNG anotacijų tipai:

Žemiau pateikiamas komentarų, kuriuos „TestNG“ palaiko selenas, sąrašas.

  • @BeforeMethod: Metodas su šia anotacija bus vykdomas prieš kiekvieną @ testas anotuotas metodas.
  • @AfterMethod: Tai anotacija bus vykdoma po kiekvieno @ testas anotuotas metodas.
  • @BeforeClass: Ši anotacija bus vykdoma anksčiau pirmasis @Test metodo vykdymas. Jis vyksta tik vieną kartą per klasę.
  • @PoKlasė: T. jo anotacija bus vykdoma paleidus visus dabartinės klasės testavimo metodus
  • @BeforeTest: Metodas su šia anotacija bus vykdomas anksčiau pirmasis @Test anotuotas metodas.
  • @AfterTest: Metodas su šia anotacija bus vykdomas, kai visi @Test komentuoti metodai užbaigia tų klasių, kurios yra pažymėtos, vykdymą TestNG.xml failą.
  • @BeforeSuite: Ši anotacija bus vykdoma tik vieną kartą anksčiau visi paketo testai buvo paleisti
  • @AfterSuite: Bus vykdomas metodas su šia anotacija kartą po to visi paketo testai buvo vykdomi
  • @BeforeGroups: Šis anotuotas metodas bus vykdomas prieš pirmąjį bandomąjį važiavimą tos konkrečios grupės.
  • @AfterGroups: Šis anotuotas metodas bus vykdomas atlikus visus bandymo metodus tos grupės baigia vykdyti.

Taigi visa tai yra apie „TestNG“ anotacijas. Dabar eikime toliau ir supraskime, kaip parašyti pirmąjį bandomąjį atvejį naudojant TestNG.

Testinių atvejų kūrimas naudojant „TestNG“ anotacijas

Įvairūs bandomųjų atvejų kūrimo veiksmai naudojant „TestNG Annotation“ yra šie:

  1. Sukurkite projektą ir pridėkite „TestNG“ biblioteką.
  2. Sukurkite klasės failą ir užkoduokite programą
  3. Galiausiai parašykite XML failą ir vykdykite jį „TestNG Suite“.

Jei norite sužinoti daugiau apie bandomojo atvejo rašymą naudojant „TestNG“, prašome patikrinti šį straipsnį „TestNG Tutorial“ . Dabar eikime toliau ir supraskime, kaip „TestNG“ anotacijos padės sugrupuoti bandymo atvejus ir sukonfigūruoti programą.

1 bandymo atvejis:

Šiuo bandymo atveju naudosiu tris skirtingas anotacijas ir koduosiu programą. Supraskime, kaip tai padaryti, pateikdami žemiau pateiktą pavyzdį.

paketas co.edureka.pages importuoti org.openqa.selenium.WebDriver importuoti org.openqa.selenium.chrome.ChromeDriver importuoti org.testng.Assert importuoti org.testng.annotations.AfterTest importuoti org.testng.annotations.BeforeTest importuoti 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 tvarkyklė @BeforeTest public void launchBrowser () {System.out.println ('paleidžiama „Chrome“ naršyklė) System.setProperty (' webdriver.chrome.driver ', driverPath) tvarkyklė = nauja „ChromeDriver“ () driver.get (baseUrl)} @Test public void VerifyHomepageTitle () String várhatóTitle = 'Instruktoriaus vadovaujami internetiniai mokymai su 24X7 palaikymu visą gyvenimą @AfterTest public void terminateBrowser () {driver.close ()}}

Iš esmės noriu patikrinti, ar tikrasis „Edureka“ tinklalapio pavadinimas atitinka numatomą pavadinimą, ar ne. Taigi, aš pirmą kartą naudoju „ @BeforeTest ’ Anotacija ir naršyklės tvarkyklės egzemplioriaus sukūrimas bei naršymas per „Edureka“ svetainę naudojant driver.get () metodas. Taigi šiuos veiksmus reikia atlikti prieš bandymą.

Be to, šio testo metu noriu patikrinti, ar laukiamas pavadinimas ir tikrasis pavadinimas sutampa, ar ne. Štai kodėl visus veiksmus nurodau naudodamas „@Test Anotation“. Galiausiai noriu uždaryti tvarkyklę ir po bandymo nutraukti naršyklę. Štai kodėl aš naudojuosi @AfterTest Anotacija ir vairuotojo uždarymas. Taigi taip grupuoju visą kodą į įvairias anotacijas ir vykdau bandomąjį atvejį. Vykdykime programą kaip „TestNG Test“ ir patikrinkime išvestį.

Momentinėje nuotraukoje galite pamatyti, kad bandomoji byla sėkmingai vykdoma numatytuoju bandymu ir rinkiniu. Be to, bandymo atvejis praėjo ir nėra gedimo.

Dabar pažiūrėkime dar vieną pavyzdį, kaip giliau suprasti įvairių anotacijų vykdymo eigą. Labai būtina žinoti anotacijų vykdymo eigą. Taigi, pažvelkime į toliau pateiktą vaizdą, kad sužinotume apie tai.

Anotacijų vykdymo eiga bus tokia, kaip parodyta aukščiau pateiktoje momentinėje nuotraukoje. Dabar pažiūrėkime dar vieną pavyzdį, kad suprastume tą patį.

2 bandymo atvejis:

paketas co.edureka.pages importuoti org.testng.annotations.AfterClass importuoti org.testng.annotations.AfterMethod importuoti org.testng.annotations.AfterSuite importuoti org.testng.annotations.AfterTest importuoti org.testng.annotations.BeforeClass importuoti org.testng .annotations.BeforeMethod importuoti org.testng.annotations.BeforeSuite importuoti org.testng.annotations.BeforeTest importuoti org.testng.annotations.Test public class testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println („1 bandymo atvejis“)} // 2 bandymo atvejis @ Test viešas negaliojantis testCase2 () {System.out.println („2 bandymo atvejis“)} @BeforeMethod viešas negaliojantis beforeMethod () {System.out.println („Prieš Metodas ')} @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“)}}

Aukščiau pateiktame kode atsitiktinai rašau visus metodus su anotacijomis. Aš nesilaikau jo sekos. Bet kai vykdysiu programą, ji laikysis tos pačios tvarkos. Dabar patikrinkime išvestį.

[RemoteTestNG] aptiko „TestNG“ 6.14.2 versiją prieš „Suite“ prieš bandymą prieš klasę prieš metodą. 1 bandymo atvejis po metodo prieš metodą bandymo atvejis 2 po metodo atlikimo po klasės po bandymo IŠĖJO: testCase1 PASSED: testCase2 ======== ==================================== Numatytasis testas Testai vykdomi: 2, Gedimai: 0, Praleidimai: 0 ================================================= Po „Suite“ = ================================================ Numatytasis rinkinys Iš viso testų paleisti: 2, gedimai: 0, praleisti: 0 ========================================= ========

Iš pirmiau pateiktos išvesties galite pastebėti, kad ji vykdė ir bandomuosius atvejus, ir „Before Suite“ ir „After Suite“ tik vieną kartą. Be to, bandymas sėkmingai vykdytas numatytuoju testu ir komplektu. Štai kaip jums reikia atlikti bandomuosius atvejus naudojant komentarus.Taigi mes baigiame šį straipsnį apie TestNG anotacijas selene.

Tikiuosi, kad supratote sąvokas ir tai pridėjo vertės jūsų žinioms. Dabar, jei norite gauti daugiau įžvalgų apie seleną, galite peržiūrėti straipsnį .

Jei radote šią „TestNG anotacijos selene ' Aktualus, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje.

kas yra skaitytuvas java

Turite mums klausimą? Prašau paminėti tai komentarų skyriuje TestNG anotacijos selene straipsnį ir mes su jumis susisieksime.