Alt hvad du behøver at vide om TestNG-kommentarer i selen



Denne artikel om TestNG-kommentarer i selen hjælper dig med at forstå de forskellige kommentarer, som TestNG understøtter i selen ved hjælp af eksempler.

Lige siden begrebet er blevet introduceret, en masse testmetoder har udviklet sig, paradigmer har ændret sig, men kravene på en eller anden måde sejrede for at forblive konstant. En sådan metode er TestNG som hjælper os med at gruppere testsagerne i forskellige sektioner af kode ved hjælp af kommentarer. Men hvordan fungerer det? Lad os forstå dette koncept gennem mediet i denne artikel om TestNG Annotations i .

Jeg vil dække nedenstående emner i denne artikel:





Introduktion til TestNG

TestNG står for Test næste generation og det er en open source testautomatiseringsramme inspireret af JUnit og NUnit. Godt, TestNG er ikke bare inspireret, men det er en opgraderet version af disse to rammer. Så hvad er opgraderingen her? Opgraderingen med TestNG er, at den giver yderligere funktionalitet som testkommentarer, gruppering, prioritering, parameterisering og sekventeringsteknikker i koden, som ikke var mulig tidligere.

Introduktion til TestNG - TestNG-kommentarer - EdurekaDet håndterer ikke kun testsager, men selv detaljerede rapporter om test kan også opnås ved hjælp af TestNG. Der vil være et detaljeret resumé, der viser antallet af testsager, der har mislykkedes. Fejlene kan også placeres nøjagtigt og tidligst repareres. Nu hvor du ved, hvad der er TestNG, skal vi se, hvorfor vi bruger TestNG i selen.



Hvorfor bruge TestNG i selen?

Softwareudviklere fra hele verden er enstemmigt enige om, at skrivning af kode i testsager sparer en god del af deres fejlfindingstid. Hvorfor? Det skyldes, at testcases hjælper med at skabe robust og fejlfri kode ved at bryde hele koden i mindre testcases, og derefter ved at evaluere hver af disse testcases til at bestå / fejle betingelser, kan du oprette fejlfri kode. Siden understøtter ikke udførelse af kode i testsager, TestNG kommer ind i billedet, som vil hjælpe med udførelsen af ​​testsagerne.

TestNG understøtter også følgende funktioner:

  • Den genererer rapporten i et korrekt format, der inkluderer et antal udførte testsager, antallet af mislykkede testsager og testsager, der er sprunget over.
  • Flere testsager kan lettere grupperes ved at konvertere dem til TestNG.xml-filen. Her kan du indstille prioriteterne til at udføre testsagerne.
  • Ved hjælp af TestNG kan du udføre flere testsager på flere browsere, dvs. test på tværs af browsere .
  • Testrammen kan let integreres med værktøjer som Maven, Jenkins osv.

Nu hvor du ved, hvad der er TestNG, og hvorfor det bruges, lad os gå videre og kende de forskellige kommentarer, som TestNG understøtter i Selen.

TestNG-bemærkninger

TestNG-bemærkninger i selen bruges til at kontrollere den næste metode, der skal udføres. Testkommentarer defineres før hver metode i testkoden. Hvis en metode ikke er forud for annoteringer, ignoreres den metode, og den udføres ikke som en del af testkoden. For at definere dem skal metoder simpelthen kommenteres med ' @Prøve '.



Typer af testNG-kommentarer:

Nedenfor er listen over kommentarer, som TestNG understøtter i selen.

  • @BeforeMethod: En metode med denne kommentar udføres før hver @prøve kommenteret metode.
  • @AfterMethod: Dette annotering udføres efter hver @prøve kommenteret metode.
  • @BeforeClass: Denne kommentar vil blive udført før første @ test metodeudførelse. Det kører kun en gang pr. Klasse.
  • @AfterClass: T hans kommentar vil blive udført, efter at alle testmetoder i den aktuelle klasse er kørt
  • @BeforeTest: En metode med denne kommentar vil blive udført før første @ test kommenteret metode.
  • @AfterTest: En metode med denne kommentar udføres når alle @Prøve bemærkede metoder fuldender udførelsen af ​​de klasser, der er indeholdt i TestNG.xml fil.
  • @BeforeSuite: Denne kommentar kører kun en gang før alle tests i pakken er kørt
  • @AfterSuite: En metode med denne kommentar kører en gang efter udførelsen af ​​alle tests i pakken er kørt
  • @BeforeGroups: Denne kommenterede metode kører inden den første testkørsel af den specifikke gruppe.
  • @AfterGroups: Denne kommenterede metode kører efter alle testmetoder af denne gruppe fuldfører sin henrettelse.

Så dette handler om kommentarer i TestNG. Lad os nu gå videre og forstå, hvordan man skriver en første testsag ved hjælp af TestNG.

Oprettelse af testtilfælde ved hjælp af TestNG-kommentarer

De forskellige trin involveret i oprettelse af testsager ved hjælp af TestNG-kommentar er som følger:

  1. Opret et projekt, og tilføj TestNG-biblioteket.
  2. Opret en klassefil, og kod programmet
  3. Endelig skriv XML-fil og udfør den på TestNG Suite.

Hvis du ønsker at få flere detaljer om at skrive en test sag ved hjælp af TestNG, bedes du tjekke denne artikel på TestNG vejledning . Lad os nu gå videre og forstå, hvordan TestNG-kommentarer kan hjælpe dig med at gruppere testsagerne og konfigurere dit program.

Test sag 1:

I dette test tilfælde vil jeg bruge tre forskellige kommentarer og kode programmet. Lad os forstå, hvordan man gør det med nedenstående eksempel.

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 ('lancering af Chrome-browser') System.setProperty ('webdriver.chrome.driver', driverPath) driver = ny ChromeDriver () driver.get (baseUrl)} @ Test public void verifyHomepageTitle () String expectTitle = 'Instruktørledet online træning med 24X7 Lifetime Support @AfterTest offentlig ugyldig terminateBrowser () {driver.close ()}}

Dybest set vil jeg kontrollere, om den faktiske titel på Edureka-websiden stemmer overens med den forventede titel eller ej. Så jeg bruger først ' @BeforeTest ' Annotering og oprettelse af en instans af browserdriveren og navigering gennem Edureka-webstedet ved hjælp af driver.get () metode. Så dette er de trin, der skal udføres før testen.

Dernæst under denne test vil jeg kontrollere, om den forventede titel og den aktuelle titel matcher eller ej. Derfor specificerer jeg alle trin med @Test Annotation. Endelig vil jeg lukke driveren og afslutte browseren efter testen. Derfor bruger jeg @AfterTest Annotering og lukning af føreren. Så dette er, hvordan jeg grupperer hele koden i forskellige kommentarer og udfører testsagen. Lad os køre programmet som TestNG Test og kontrollere output.

Du kan se i øjebliksbillede, at testsagen kører med succes på en standardtest og suite. Testsagen bestod også, og der er heller ingen fejl.

Lad os nu se endnu et eksempel for at forstå udførelsesstrømmen af ​​forskellige annoteringer i dybden. Det er meget nødvendigt at kende strømmen af ​​udførelsen af ​​kommentarerne. Så lad os se på snapshotet nedenfor for at vide om det.

Strømmen af ​​udførelse af annoteringer vil være som vist i ovenstående øjebliksbillede. Lad os nu se endnu et eksempel for at forstå det samme.

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

I ovenstående kode skriver jeg tilfældigt alle metoderne med kommentarer. Jeg følger ikke rækkefølgen af ​​det. Men når jeg udfører programmet, følger det samme rækkefølge. Lad os nu kontrollere output.

[RemoteTestNG] opdaget TestNG version 6.14.2 Før suite Før test Før klasse Før metode Test sag 1 Efter metode Før metode Test sag 2 Efter metode Efter klasse efter test PASSED: testCase1 PASSED: testCase2 ============ ===================================== Standard test Testkørsel: 2, Fejl: 0, Spring over: 0 ================================================== Efter Suite = ================================================= Standard suite I alt tests Kør: 2, Fejl: 0, Spring over: 0 ========================================== =========

Fra ovenstående output kan du bemærke, at den kun udførte testsagerne og Before Suite og After Suite kun blev udført en gang. Testen kørte også med succes på standardtesten og pakken. Sådan skal du udføre testsagerne ved hjælp af annotationer.Så det bringer os til slutningen af ​​denne artikel om TestNG Annotations in Selenium.

Jeg håber, du forstod begreberne, og det tilføjede værdi til din viden. Nu, hvis du ønsker at få mere indsigt i Selen, kan du tjekke artiklen om .

implementere min bunke i java

Hvis du fandt denne “TestNG Annotations in Selenium ”Relevant, tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Har du et spørgsmål til os? Nævn det i kommentarfeltet på TestNG-bemærkninger i selen artikel, og vi vender tilbage til dig.