Alt du trenger å vite om TestNG-merknader i selen



Denne artikkelen om TestNG-merknader i selen vil hjelpe deg med å forstå de forskjellige kommentarene som TestNG støtter i selen ved hjelp av eksempler.

Helt siden begrepet har blitt introdusert, mange testmetoder har utviklet seg, paradigmer har endret seg, men kravene på en eller annen måte seiret å forbli konstant. En slik metode er TestNG som hjelper oss med å gruppere testsakene i forskjellige kodeseksjoner ved hjelp av merknader. Men hvordan fungerer det? La oss forstå dette konseptet gjennom mediet i denne artikkelen om TestNG-merknader i .

Jeg vil dekke de nevnte emnene i denne artikkelen:





er java basert på c

Introduksjon til TestNG

TestNG står for Test neste generasjon og det er en åpen kildekode-testautomatiseringsramme inspirert av JUnit og NUnit. Vi vil, TestNG er ikke bare inspirert, men det er en oppgradert versjon av disse to rammene. Så hva er oppgraderingen her? Oppgraderingen med TestNG er at den gir tilleggsfunksjonalitet som testkommentarer, gruppering, prioritering, parameterisering og sekvenseringsteknikker i koden som ikke var mulig tidligere.

Introduksjon til TestNG - TestNG-merknader - EdurekaDet håndterer ikke bare testsaker, men til og med detaljerte rapporter om tester kan også fås ved å bruke TestNG. Det vil være et detaljert sammendrag som viser antall testsaker som har mislyktes. Også feilene kan lokaliseres nøyaktig og fikses tidligst. Nå som du vet hva som er TestNG, la oss se hvorfor du skal bruke TestNG i selen.



Hvorfor bruke TestNG i selen?

Programvareutviklere fra hele verden vil enstemmig være enige om at det å skrive kode i testsaker sparer en god del av feilsøkingstiden. Hvorfor? Det er fordi testtilfeller hjelper til med å lage robust og feilfri kode ved å bryte hele koden i mindre testsaker, og deretter ved å evaluere hver av disse testsakene for å bestå / mislykkes forhold, kan du opprette feilfri kode. Siden ikke støtter utførelse av kode i testsaker, kommer TestNG inn i bildet som vil hjelpe i gjennomføringen av testsakene.

TestNG støtter også følgende funksjoner:

  • Den genererer rapporten i riktig format som inkluderer et antall utførte testsaker, antall mislykkede testsaker og testsaker som er hoppet over.
  • Flere testtilfeller kan grupperes lettere ved å konvertere dem til TestNG.xml-fil. Her kan du angi prioriteringene for å utføre testsakene.
  • Ved å bruke TestNG kan du utføre flere testtilfeller på flere nettlesere, dvs. tester i flere nettlesere .
  • Testrammeverket kan enkelt integreres med verktøy som Maven, Jenkins, etc.

Nå som du vet hva som er TestNG og hvorfor det brukes, la oss gå videre og kjenne til de forskjellige kommentarene som TestNG støtter i Selen.

TestNG-merknader

TestNG-merknader i selen brukes til å kontrollere neste metode som skal utføres. Testkommentarer defineres før hver metode i testkoden. Hvis en metode ikke er prefikset med merknader, vil denne metoden bli ignorert, og den vil ikke bli utført som en del av testkoden. For å definere dem, må metoder bare merkes med ‘ @Test ‘.



Typer av TestNG-merknader:

Nedenfor er listen over merknader som TestNG støtter i selen.

  • @BeforeMethod: En metode med denne merknaden vil bli utført før hver @test kommentert metode.
  • @AfterMethod: Dette merknader utføres etter hvert @test kommentert metode.
  • @BeforeClass: Denne kommentaren vil bli utført før første @Test metodeutførelse. Den går bare en gang per klasse.
  • @AfterClass: T kommentaren hans vil bli utført etter at alle testmetodene i gjeldende klasse er kjørt
  • @BeforeTest: En metode med denne merknaden vil bli utført før første @Test kommentert metode.
  • @AfterTest: En metode med denne merknaden vil bli utført når alle @Test merkede metoder fullfører gjennomføringen av de klassene som er inne i TestNG.xml fil.
  • @BeforeSuite: Denne kommentaren kjører bare en gang før alle testene i suiten har kjørt
  • @AfterSuite: En metode med denne merknaden vil kjøre en gang etter utførelsen av alle testene i suiten har kjørt
  • @BeforeGroups: Denne merkede metoden kjører før første prøvekjøring av den spesifikke gruppen.
  • @AfterGroups: Denne merkede metoden kjører etter alle testmetoder av den gruppen fullfører sin henrettelse.

Så dette handler om merknader i TestNG. La oss nå gå videre og forstå hvordan vi kan skrive en første testsak ved hjelp av TestNG.

Opprette testsaker ved hjelp av TestNG-merknader

De forskjellige trinnene som er involvert i å lage testsaker ved hjelp av TestNG-merknader er som følger:

  1. Opprett et prosjekt og legg til TestNG-biblioteket.
  2. Lag en klassefil og kode programmet
  3. Til slutt, skriv XML-fil og kjør den på TestNG Suite.

Hvis du ønsker å få mer informasjon om å skrive en testsak ved hjelp av TestNG, kan du sjekke denne artikkelen på TestNG opplæring . La oss nå gå videre og forstå hvordan TestNG-merknader vil hjelpe deg med å gruppere testsakene og konfigurere programmet ditt.

Prøvesak 1:

I dette testtilfellet vil jeg bruke tre forskjellige merknader og kode programmet. La oss forstå hvordan vi gjør det med eksemplet nedenfor.

pakke 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 driver @BeforeTest offentlig ugyldig launchBrowser () {System.out.println ('lanserer Chrome-nettleser') System.setProperty ('webdriver.chrome.driver', driverPath) driver = ny ChromeDriver () driver.get (baseUrl)} @ Test public void verifyHomepageTitle () String expectTitle = 'Instruktørledet online trening med 24X7 Lifetime Support @AfterTest public void terminateBrowser () {driver.close ()}}

I utgangspunktet vil jeg sjekke om den faktiske tittelen på Edureka-nettsiden samsvarer med den forventede tittelen eller ikke. Så jeg bruker først ‘ @BeforeTest ’ Kommentar og oppretter en forekomst av nettleserdriveren og navigerer gjennom Edureka-nettstedet ved hjelp av driver.get () metode. Så dette er trinnene som skal utføres før testen.

Neste, under denne testen, vil jeg sjekke om den forventede tittelen og den faktiske tittelen samsvarer med eller ikke. Derfor spesifiserer jeg alle trinnene med @Test Annotation. Til slutt vil jeg lukke driveren og avslutte nettleseren etter testen. Derfor bruker jeg @AfterTest Kommentar og lukking av sjåføren. Så dette er hvordan jeg grupperer hele koden i forskjellige merknader og utfører testsaken. La oss kjøre programmet som TestNG Test og sjekke utdataene.

Du kan se på øyeblikksbildet at testsaken kjører på en standard test og suite. Også testsaken besto, og det er ingen feil også.

La oss nå se et eksempel til for å forstå gjennomføringsflyten av forskjellige merknader i dybden. Det er veldig nødvendig å kjenne strømmen til utførelsen av merknadene. Så, ta en titt på øyeblikksbildet nedenfor for å få vite om det.

hva er fastlåst i java

Flytingen av utførelse av merknader vil være som vist i øyeblikksbildet ovenfor. La oss nå se et eksempel til for å forstå det samme.

Prøvesak 2:

pakke 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 Metode ')} @AfterMethod offentlig ugyldig etterMetode () {System.out.println (' Etter metode ')} @BeforeClass offentlig ugyldig beforeClass () {System.out.println (' Før klasse ')} @AfterClass offentlig ugyldig etterklasse ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public ugyldig afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'Etter suite')}}

I koden ovenfor skriver jeg tilfeldig alle metodene med merknader. Jeg følger ikke sekvensen av den. Men når jeg kjører programmet, vil det følge samme rekkefølge. La oss nå sjekke utdataene.

[RemoteTestNG] oppdaget TestNG versjon 6.14.2 Før Suite Før Test Før Klasse Før Metode Test Tilfelle 1 Etter Metode Før Metode Test Tilfelle 2 Etter Metode Etter Klasse Etter Test PASSERT: testCase1 PASSED: testCase2 ============ ===================================== Standard test Testkjøring: 2, Feil: 0, Hopp over: 0 ================================================== Etter Suite = ================================================== Standard suite Totalt antall tester kjøre: 2, feil: 0, hopper: 0 ========================================== ========

Fra ovennevnte utdata kan du merke at den utførte både testsakene og Before Suite og After Suite bare ble utført en gang. Testen kjørte også vellykket på standardtest og suite. Slik trenger du å utføre testsakene ved hjelp av merknader.Så det fører oss til slutten av denne artikkelen om TestNG-merknader i selen.

Jeg håper du forsto konseptene og det tilførte din kunnskap verdi. Nå, hvis du vil få mer innsikt i Selen, kan du sjekke ut artikkelen på .

Hvis du fant denne “TestNG Annotations in Selenium ' relevant, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til TestNG-merknader i selen artikkel og vi kommer tilbake til deg.