Allt du behöver veta om TestNG-anteckningar i selen



Den här artikeln om TestNG-anteckningar i selen hjälper dig att förstå de olika anteckningarna som TestNG stöder i selen med hjälp av exempel.

Ända sedan begreppet har introducerats, många testmetoder har utvecklats, paradigmer har förändrats men kraven på något sätt segrade för att förbli konstanta. En sådan metod är TestNG vilket hjälper oss att gruppera testfallet i olika kodavsnitt med hjälp av kommentarer. Men hur fungerar det? Låt oss förstå detta koncept genom denna artikel om TestNG-anteckningar i .

Jag kommer att behandla nedanstående ämnen i den här artikeln:





Introduktion till TestNG

TestNG står för Testa nästa generation och det är en open source-testautomatiseringsram inspirerad av JUnit och NUnit. Väl, TestNG är inte bara inspirerad utan det är en uppgraderad version av dessa två ramar. Så vad är uppgraderingen här? Uppgraderingen med TestNG är att den ger ytterligare funktioner som testanteckningar, gruppering, prioritering, parameterisering och sekvenseringstekniker i koden som inte var möjlig tidigare.

Introduktion till TestNG - TestNG-kommentarer - EdurekaDet hanterar inte bara testfall, utan även detaljerade rapporter om test kan också erhållas med hjälp av TestNG. Det kommer att finnas en detaljerad sammanfattning som visar antalet testfall som har misslyckats. Dessutom kan buggarna placeras exakt och fixas tidigast. Nu när du vet vad som är TestNG, låt oss se varför man ska använda TestNG i selen.



Varför använda TestNG i selen?

Mjukvaruutvecklare från hela världen kommer enhälligt överens om att skriva kod i testfall sparar en stor del av deras felsökningstid. Varför? Det beror på att testfall hjälper till att skapa robust och felfri kod genom att dela upp hela koden i mindre testfall och sedan genom att utvärdera vart och ett av dessa testfall till godkända / misslyckade förhållanden kan du skapa felfri kod. Eftersom stöder inte exekvering av kod i testfall, kommer TestNG in i bilden som kommer att hjälpa till i utförandet av testfall.

TestNG stöder också följande funktioner:

  • Den genererar rapporten i ett korrekt format som innehåller ett antal utförda testfall, antalet misslyckade testfall och testfall som har hoppats över.
  • Flera testfall kan grupperas lättare genom att konvertera dem till TestNG.xml-filen. Här kan du ställa in prioriteringar för att utföra testfallet.
  • Med TestNG kan du utföra flera testfall i flera webbläsare, dvs. testning över webbläsare .
  • Testramverket kan enkelt integreras med verktyg som Maven, Jenkins, etc.

Nu när du vet vad som är TestNG och varför det används, låt oss gå vidare och känna till de olika anteckningarna som TestNG stöder i Selen.

TestNG-kommentarer

TestNG-anteckningar i selen används för att kontrollera nästa metod som ska köras. Testanteckningar definieras före varje metod i testkoden. Om någon metod inte är prefix med anteckningar ignoreras den metoden och den körs inte som en del av testkoden. För att definiera dem behöver metoder helt enkelt antecknas med ” @Testa '.



Typer av TestNG-anteckningar:

Nedan är listan över anteckningar som TestNG stöder i selen.

hur man använder skannrar i java
  • @BeforeMethod: En metod med denna kommentar kommer att köras före varje @testa kommenterad metod.
  • @AfterMethod: Detta anteckningar kommer att utföras efter varje @testa kommenterad metod.
  • @Innan lektionen: Denna kommentar kommer att utföras tidigare första @Test metodkörning. Det körs bara en gång per klass.
  • @AfterClass: T hans anteckning kommer att utföras efter att alla testmetoder i den aktuella klassen har körts
  • @BeforeTest: En metod med denna kommentar kommer att köras tidigare första @Test kommenterad metod.
  • @AfterTest: En metod med denna kommentar kommer att köras när Allt @Testa antecknade metoder slutför utförandet av de klasser som finns i TestNG.xml fil.
  • @BeforeSuite: Denna kommentar kommer att köras bara en gång förut alla tester i sviten har körts
  • @AfterSuite: En metod med den här anteckningen körs en gång efter körningen av alla tester i sviten har körts
  • @BeforeGroups: Den här kommenterade metoden körs före den första testkörningen av den specifika gruppen.
  • @AfterGroups: Den här kommenterade metoden körs efter alla testmetoder gruppen slutför sitt genomförande.

Så det här handlar om kommentarer i TestNG. Låt oss nu gå vidare och förstå hur man skriver ett första testfall med TestNG.

Skapa testfall med TestNG-anteckningar

De olika stegen som är involverade i att skapa testfall med TestNG-anteckningar är följande:

  1. Skapa ett projekt och lägg till TestNG-biblioteket.
  2. Skapa en klassfil och kod programmet
  3. Slutligen, skriv XML-fil och kör den på TestNG Suite.

Om du vill läsa mer om hur du skriver ett testfall med TestNG, vänligen läs den här artikeln på TestNG-handledning . Nu ska vi gå vidare och förstå hur TestNG-anteckningar hjälper dig att gruppera testfall och konfigurera ditt program.

Testfall 1:

I det här testfallet använder jag tre olika anteckningar och kodar programmet. Låt oss förstå hur man gör det med exemplet nedan.

paketet co.edureka.pages importerar org.openqa.selenium.WebDriver importerar org.openqa.selenium.chrome.ChromeDriver importerar org.testng.Assert importerar org.testng.annotations.AfterTest importerar org.testng.annotations.BeforeTest importerar 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 drivrutin @BeforeTest offentlig ogiltig launchBrowser () {System.out.println ('startar Chrome-webbläsare') System.setProperty ('webdriver.chrome.driver', driverPath) drivrutin = ny ChromeDriver () driver.get (baseUrl)} @ Test public void verifyHomepageTitle () String expectTitle = 'Instruktörsledad onlineutbildning med 24X7 Lifetime Support @AfterTest public void terminateBrowser () {driver.close ()}}

I grund och botten vill jag kontrollera om den faktiska titeln på Edureka-webbsidan matchar den förväntade titeln eller inte. Så jag använder först @BeforeTest ' Kommentar och skapa en instans av webbläsardrivrutinen och navigera genom Edurekas webbplats med hjälp av driver.get () metod. Så det här är stegen som ska utföras före testet.

Därefter, under detta test, vill jag kontrollera om den förväntade titeln och den faktiska titeln matchar eller inte. Det är därför jag specificerar alla steg med @Test Annotation. Slutligen vill jag stänga drivrutinen och avsluta webbläsaren efter testet. Det är därför jag använder @AfterTest Annotering och stängning av föraren. Så här grupperar jag hela koden i olika anteckningar och utför testfallet. Låt oss köra programmet som TestNG Test och kontrollera utdata.

hur man vänder ett nummer

Du kan se på ögonblicksbilden att testfallet körs framgångsrikt på ett standardtest och en svit. Dessutom klarade testfallet och det finns inget fel också.

Låt oss nu se ytterligare ett exempel för att förstå utförandet av olika anteckningar på djupet. Det är mycket nödvändigt att känna till flödet av genomförandet av anteckningarna. Så, låt oss ta en titt på ögonblicksbilden nedan för att få reda på det.

php konvertera objekt till array

Flödet av exekvering av anteckningar kommer att visas enligt ovanstående ögonblicksbild. Låt oss nu se ytterligare ett exempel för att förstå detsamma.

Testfall 2:

paketet 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 ('Testfall 1')} // Testfall 2 @ Test offentligt ogiltigt testCase2 () {System.out.println ('Testfall 2')} @BeforeMethod offentligt ogiltigt beforeMethod () {System.out.println ('Före Metod ')} @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')}}

I ovanstående kod skriver jag slumpmässigt alla metoder med anteckningar. Jag följer inte sekvensen av den. Men när jag kör programmet kommer det att följa samma ordning. Låt oss nu kontrollera produktionen.

[RemoteTestNG] upptäckt TestNG version 6.14.2 Före svit före test före klass före metod Testfall 1 efter metod före metod Testfall 2 efter metod efter klass efter test PASSAD: testCase1 PASSED: testCase2 ============ ===================================== Standardtest Testkörningar: 2, Fel: 0, Hoppar: 0 ================================================== Efter Suite = ================================================= Standardsvit Totalt antal tester körning: 2, misslyckanden: 0, hoppar: 0 ========================================== =========

Från ovanstående utdata kan du märka att den körde både testfallet och Before Suite och After Suite kördes bara en gång. Testet kördes också framgångsrikt på standardtestet och sviten. Så här behöver du utföra testfallet med hjälp av anteckningar.Så det tar oss till slutet av den här artikeln om TestNG-anteckningar i selen.

Jag hoppas att du förstod begreppen och det tillförde mervärde till din kunskap. Nu, om du vill få mer inblick i Selen kan du kolla in artikeln på .

Om du hittade detta “TestNG Annotations in Selenium ' relevant, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen.

Har du en fråga till oss? Vänligen nämna det i kommentarfältet TestNG-anteckningar i selen artikeln så återkommer vi till dig.