Kaikki mitä sinun tarvitsee tietää Seleniumin TestNG-merkinnöistä



Tämä artikkeli Seleniumin TestNG-merkinnöistä auttaa sinua ymmärtämään erilaisia ​​huomautuksia, joita TestNG tukee Seleniumissa esimerkkien avulla.

Siitä lähtien, kun on otettu käyttöön, paljon testausmenetelmiä on kehittynyt, paradigmat ovat muuttuneet, mutta vaatimukset jotenkin voittivat pysyäkseen vakaina. Yksi tällainen menetelmä on TestNG mikä auttaa meitä ryhmittelemään testitapaukset koodin eri osiin merkintöjen avulla. Mutta miten se toimii? Ymmärretään tämä käsite tämän artikkelin kautta TestNG-merkinnöissä .

Käsittelen alla mainittuja aiheita tässä artikkelissa:





TestNG: n esittely

TestNG tarkoittaa Testaa seuraava sukupolvi ja se on avoimen lähdekoodin testausautomaatiokehys, jonka ovat innoittaneet JUnit ja NUnit. Hyvin, TestNG ei ole vain innoittamana, mutta se on päivitetty versio näistä kahdesta kehyksestä. Joten mikä päivitys täällä on? TestNG-päivitys tarjoaa, että se tarjoaa lisätoimintoja, kuten testimerkinnät, ryhmittely, priorisointi, parametrointi ja sekvensointitekniikat koodissa, mikä ei ollut mahdollista aikaisemmin.

Johdatus TestNG: hen - TestNG-merkinnät - EdurekaSe ei vain hallitse testitapauksia, vaan jopa yksityiskohtaiset raportit testeistä voidaan saada käyttämällä TestNG: tä. Tulee yksityiskohtainen yhteenveto, joka näyttää epäonnistuneiden testitapausten määrän. Virheet voidaan myös paikantaa tarkasti ja korjata aikaisintaan. Nyt kun tiedät mikä on TestNG, katsotaan miksi käyttää TestNG: tä seleenissä.



Miksi käyttää TestNG: tä seleenissä?

Ohjelmistokehittäjät ympäri maailmaa ovat yksimielisiä siitä, että koodin kirjoittaminen testitapauksissa säästää suuren osan heidän virheenkorjausajastaan. Miksi? Tämä johtuu siitä, että testitapaukset auttavat luomaan vankan ja virheettömän koodin jakamalla koko koodi pienemmiksi testitapauksiksi ja sitten arvioimalla jokainen näistä testitapauksista läpäisemään / epäonnistumaan olosuhteissa, voit luoda virheettömän koodin. Siitä asti kun ei tue koodin suorittamista testitapauksissa, TestNG tulee kuvaan, mikä auttaa testitapausten suorittamisessa.

TestNG tukee myös seuraavia ominaisuuksia:

  • Se luo raportin oikeassa muodossa, joka sisältää useita suoritettuja testitapauksia, epäonnistuneiden testitapausten ja ohitettujen testitapausten määrän.
  • Useat testitapaukset voidaan ryhmitellä helpommin muuntamalla ne TestNG.xml-tiedostoksi. Tässä voit asettaa prioriteetit testitapausten suorittamiseksi.
  • TestNG: n avulla voit suorittaa useita testitapauksia useilla selaimilla, ts. selainten välinen testaus .
  • Testauskehys voidaan helposti integroida esimerkiksi Mavenin, Jenkinsin jne. Työkaluihin.

Nyt kun tiedät mikä on TestNG ja miksi sitä käytetään, siirrymme pidemmälle ja tiedämme TestNG: n erilaiset Selationin tukemat merkinnät.

TestNG-merkinnät

Seleenin TestNG-merkintöjä käytetään seuraavan suoritettavan menetelmän hallintaan. Testimerkinnät määritetään ennen jokaista testikoodin menetelmää. Jos mitään menetelmää ei ole etuliitetty merkinnöillä, menetelmä jätetään huomiotta eikä sitä suoriteta testikoodin osana. Niiden määrittelemiseksi menetelmiin on yksinkertaisesti annettava merkintä @Testata ”.



TestNG-merkintöjen tyypit:

Alla on luettelo huomautuksista, joita TestNG tukee seleenissä.

  • @BeforeMethod: Menetelmä tällä merkinnällä suoritetaan ennen jokaista @testata annotoitu menetelmä.
  • @AfterMethod: Tämä merkintä suoritetaan jokaisen jälkeen @testata annotoitu menetelmä.
  • @Ennen tuntia: Tämä merkintä suoritetaan ennen ensimmäinen @Test menetelmän suorittaminen. Se toimii vain kerran luokkaa kohti.
  • @AfterClass: T hänen merkinnänsä suoritetaan, kun kaikki nykyisen luokan testimenetelmät on suoritettu
  • @BeforeTest: Menetelmä tällä merkinnällä suoritetaan ennen ensimmäinen @Test annotoitu menetelmä.
  • @AfterTest: Menetelmä tällä merkinnällä suoritetaan kun kaikki @Testata kommentoidut menetelmät täydentävät niiden luokkien suorituksen, joihin on lisätty tunniste TestNG.xml tiedosto.
  • @BeforeSuite: Tämä merkintä suoritetaan vain kerran ennen kaikki sviitin testit on suoritettu
  • @AfterSuite: Menetelmä tällä merkinnällä suoritetaan kerran sen jälkeen paketin kaikkien testien suorittaminen on suoritettu
  • @BeforeGroups: Tämä merkinnällä varustettu menetelmä suoritetaan ennen ensimmäistä testiajoa kyseisen ryhmän.
  • @AfterGroups: Tämä merkinnällä varustettu menetelmä suoritetaan kaikkien testimenetelmien jälkeen kyseisen ryhmän loppuunsaattamisen.

Joten tässä on kyse TestNG: n merkinnöistä. Siirrytään nyt pidemmälle ja ymmärretään, miten ensimmäinen testitapaus kirjoitetaan TestNG: n avulla.

Testitapausten luominen TestNG-merkinnöillä

Testitapausten luomiseen TestNG-merkinnällä liittyvät vaiheet ovat seuraavat:

  1. Luo projekti ja lisää TestNG-kirjasto.
  2. Luo luokkatiedosto ja koodaa ohjelma
  3. Kirjoita lopuksi XML-tiedosto ja suorita se TestNG Suitessa.

Jos haluat saada lisätietoja testitapauksen kirjoittamisesta TestNG: n avulla, tarkista tämä artikkeli TestNG-opetusohjelma . Siirrytään nyt eteenpäin ja ymmärretään, kuinka TestNG-merkinnät auttavat sinua ryhmittelemään testitapaukset ja määrittämään ohjelman.

kokki vs nukke vs jenkins
Testitapaus 1:

Tässä testitapauksessa käytän kolmea erilaista merkintää ja koodaan ohjelman. Ymmärretään, miten se tehdään alla olevan esimerkin avulla.

paketti 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 public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver ohjain @BeforeTest public void launchBrowser () {System.out.println ('käynnistää Chrome-selaimen') System.setProperty ('webdriver.chrome.driver', driverPath) ohjain = uusi ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String odotettavissaTitle = 'Ohjaajan johtama verkkokoulutus 24X7-elinikäisellä tuella @AfterTest public void terminateBrowser () {driver.close ()}}

Pohjimmiltaan haluan tarkistaa, vastaako Edureka-verkkosivun todellinen otsikko odotettua otsikkoa vai ei. Joten käytän ensin @BeforeTest ’ Selitys ja selainohjaimen esiintymän luominen ja navigointi Edureka-verkkosivustolla kuljettaja.get () menetelmä. Joten nämä ovat vaiheet, jotka tulisi suorittaa ennen testiä.

Seuraavaksi haluan tämän testin aikana tarkistaa, vastaavatko odotettu otsikko ja todellinen otsikko vai eivät. Siksi määritän kaikki vaiheet @Test Annotation -ominaisuudella. Lopuksi haluan sulkea ohjaimen ja sulkea selaimen testin jälkeen. Siksi käytän @AfterTest Huomautus ja kuljettajan sulkeminen. Joten ryhmittelen koko koodin eri merkintöihin ja suoritan testitapauksen. Suoritetaan ohjelma TestNG-testinä ja tarkistetaan lähtö.

Tilannekuvasta näet, että testitapaaminen onnistuu oletusarvoisessa testissä ja paketissa. Myös testitapaus läpäisi, eikä myöskään ole vikaa.

Katsotaan nyt vielä yksi esimerkki ymmärtääksemme eri merkintöjen suoritusvirta perusteellisesti. On erittäin tarpeen tietää merkintöjen suorittamisen kulku. Katsotaan siis alla olevaa tilannekuvaa tietääksesi siitä.

Merkintöjen suorittaminen kulkee yllä olevan tilannekuvan mukaisesti. Katsotaan nyt vielä yksi esimerkki ymmärtääksemme saman.

Testitapaus 2:

paketti co.edureka.pages tuonti org.testng.annotations.AfterClass tuonti org.testng.annotations.AfterMethod tuonti org.testng.annotations.AfterSuite tuonti org.testng.annotations.AfterTest tuonti org.testng.annotations.BeforeClass tuonti org.testng .annotations.BeforeMethod tuonti org.testng.annotations.BeforeSuite tuonti org.testng.annotations.BeforeTest tuonti org.testng.annotations.Test julkisen luokan testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println ('Test Case 1')} // Testitapa 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Ennen 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 ('luokan jälkeen')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('Testin jälkeen')} @BeforeSuite julkinen void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}

Edellä olevassa koodissa kirjoitan satunnaisesti kaikki menetelmät merkinnöillä. En seuraa sen järjestystä. Mutta kun suoritan ohjelman, se noudattaa samaa järjestystä. Tarkistetaan nyt lähtö.

[RemoteTestNG] havaitsi TestNG-version 6.14.2 ennen ohjelmistopakettia ennen testiä ennen luokkaa ennen menetelmää Testitapaus 1 Menetelmä ennen menetelmää Testitapaus 2 Menetelmän jälkeen luokan jälkeen testi TARKASTETTU: testCase1 PASSED: testCase2 =========== ==================================== Oletustesti Testit suoritettu: 2, epäonnistumiset: 0, ohitukset: 0 ================================================= After Suite = ================================================ Oletussarja testejä yhteensä juoksu: 2, epäonnistumiset: 0, ohitukset: 0 ========================================= ========

Yllä olevasta lähdöstä voit huomata, että se suoritti sekä testitapaukset että Ennen Suitea ja After Suiten vain kerran. Testi suoritettiin myös oletusarvoisessa testissä ja paketissa. Näin sinun on suoritettava testitapaukset merkintöjen avulla.Joten tämä johtaa meidät tämän artikkelin loppuun TestNG-merkinnöistä seleenissä.

Toivon, että ymmärsitte käsitteet ja se lisäsi tietämystänne. Nyt, jos haluat saada lisää oivalluksia seleenistä, voit tutustua artikkeliin .

Jos löysit tämän ”TestNG-merkinnät seleenistä ”Asiaankuuluva, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa.

miten luoda paketti Java

Onko sinulla kysymys meille? Mainitse se vuoden 2004 kommenttiosassa TestNG-merkinnät seleenissä artikkeli ja palaamme sinuun.