Hur man utför misslyckade testfall i TestNG

⚡ Smart sammanfattning

Köra misslyckade testfall i TestNG låter testare isolera och omköra endast de tester som inte godkändes, vilket sparar tid och minskar redundant körning i hela sviten.

  • 🛠️ Projektinställning: Skapa en Java projekt i Eclipse, Lägg till TestNG och Selenium JAR-bibliotek och definiera två testklasser (DemoA och DemoB).
  • 🔄 TestNG Omvandling: Konvertera Java klasser till en TestNG sviten genom att högerklicka och välja TestNG convert-alternativet för att generera testng.xml.
  • 💻 Kommandoradskörning: Kör testng.xml-sviten från kommandotolken med kommandot java -cp med korrekt klassväg som pekar på mapparna lib och bin.
  • Misslyckad testdetektering: TestNG genererar automatiskt en testng-failed.xml-fil i mappen test-output när ett eller flera testfall misslyckas.
  • 🔁 Kör om misslyckade tester: Kör testng-failed.xml antingen från Eclipse (Kör som TestNG Suite) eller kommandoraden för att köra om endast de misslyckade testfallen.

Skapa en Selenium Projekt

Förbered projektet innan du konverterar det till TestNGStegen nedan guidar dig genom att skapa en Java projekt i Eclipse, konfigurera paketstrukturen och lägga till de nödvändiga JAR-biblioteken.

Steg 1) In Eclipse, skapa en Java projektet genom att klicka på Nytt Java Project.

Skapa en Selenium Projekt

Steg 2) I det här steget:

  1. Ge projektet ett namn.
  2. Välj körningsmiljö.
  3. Välj alternativet för projektlayout.
  4. Klicka på Finish knapp.

Skapa en Selenium Projekt

Efter att du klickat på Slutför, Testprojekt Java projektet skapas och kommer att visas i Paketutforskaren.

Skapa en Selenium Projekt

Steg 3) Öppna det nyskapade projektet. Du kommer att se src mappen i Paketutforskaren.

  1. Högerklicka på projektet och välj Nytt.
  2. Välj Paket alternativ.

Skapa en Selenium Projekt

Steg 4) I det här steget:

  1. Bläddra i src-mappen och välj package.
  2. Ge paketet ett namn.
  3. Klicka Finish. (Paketnamn: com.test)

Skapa en Selenium Projekt

Efter att ha klickat Finish, kommer projektstrukturen att se ut så här:

Skapa en Selenium Projekt

Steg 5) I det här steget:

  1. Högerklicka på det nyskapade paketet.
  2. Välj Klass alternativ.

Skapa en Selenium Projekt

Ett nytt fönster öppnas.

Steg 6) I det här steget:

  1. Ge klassen ett namn.
  2. Välj modifierare.
  3. Bläddra och välj superklassen java.lang.Object.
  4. Klicka Finish.

Här skapar du två klasser: DemoA och DemoB.

Skapa först klassen DemoA.

Skapa en Selenium Projekt

Efter att ha klickat Finish, klassen kommer att skapas:

Skapa en Selenium Projekt

Skapa på samma sätt klassen DemoB:

Skapa en Selenium Projekt

Steg 7) Om du har installerat TestNG bibliotek, klicka på Java Projekt → Egenskaper.

Skapa en Selenium Projekt

Steg 8) I egenskapsfönstret:

  1. Klicka på Java Bygg väg.
  2. Klicka på bibliotek.
  3. Klicka på Lägg till bibliotek.

Skapa en Selenium Projekt

Nästa:

  1. Klicka på TestNG och då
  2. Klicka på Nästa.

Skapa en Selenium Projekt

Klicka sedan på Finish knapp.

Skapa en Selenium Projekt

Efter detta, skriv följande kod.

För klassdemo A:

Skapa en Selenium Projekt

Code Förklaring:

  • driver.manage().window().maximize(); — maximerar webbläsarfönstret.
  • driver.get("https://www.google.co.in"); — anger det angivna URL i adressfältet.
  • driver.findElement(By.name("q")).sendKeys("Hi"); — lokaliserar Google sökrutan och skriver in text med sendKeys-metoden.

Produktion: Programmet ovan innehåller fel, så det kan inte köras som det är.

På samma sätt, för klass DemoB:

Skapa en Selenium Projekt

De röda understrukna orden indikerar fel eftersom den nödvändiga JAR-filen ännu inte har lagts till. För att åtgärda dessa fel, lägg till motsvarande JAR-fil. Högerklicka på Java Projicera och välj Våra Bostäder.

Skapa en Selenium Projekt

Steg 8 forts.) I egenskapsfönstret:

  1. Klicka på Java Bygg väg i den vänstra navigationsfönstret.
  2. Klicka på bibliotek fliken.
  3. Klicka Lägg till externa JAR-filer och välj Selenium fristående JAR-fil.
  4. Klicka OK.

Skapa en Selenium Projekt

Efter detta steg tas alla fel bort automatiskt. Om några kvarstår, håll muspekaren över den felmarkerade koden och importera nödvändiga klasser och gränssnitt. För @Test fel, muspekaren och välj Lägg till TestNG Bibliotek.

Steg 9) I det här steget:

  1. Högerklicka på projektet och välj mapp alternativ för att skapa en mapp med namnet lib.
  2. Klistra in TestNG JAR och Selenium JAR (selenium-server-standalone) ) till den här mappen. Ladda ner båda JAR-filerna från webben, kopiera dem och högerklicka sedan på lib-mappen i Eclipse och välj Klistra in.

Skapa en Selenium Projekt

Steg 10) I det här steget:

  1. Välj den överordnade mappen.
  2. Ge mappen namnet lib. (Denna mapp krävs endast för kommandoradskörning; den behövs inte när testng.xml körs från Eclipse.)
  3. Klicka Finish.

Skapa en Selenium Projekt

Efter att mappen har skapats är nästa steg att konvertera programmen DemoA och DemoB till en testng.xml-fil.

Konvertera och kör Selenium Projekt till TestNG

Steg 1) I det här steget:

  1. Välj de två Java filerna i paketet och högerklicka.
  2. Välj TestNG alternativ.
  3. Klicka Konvertera till TestNG.

Konvertera och kör Selenium Projekt till TestNG

Steg 2) Ett nytt fönster öppnas. Ange följande uppgifter:

  1. Plats
  2. Svitens namn
  3. Testnamn
  4. Klassval
  5. Parallellt läge
  6. Klicka Finish.

Konvertera och kör Selenium Projekt till TestNG

testng.xml-filen skapas under Java projektet och kommer att se ut så här:

Konvertera och kör Selenium Projekt till TestNG

(För att köra testng.xml från Eclipsehögerklicka på filen i Paketutforskaren och välj Spring som TestNG Suite.)

Steg 3) Svitfilen testng.xml kommer att se ut så här:

Konvertera och kör Selenium Projekt till TestNG

Om du vill köra DemoA först, ta bort dess rad och lägg till den före DemoB:

Konvertera och kör Selenium Projekt till TestNG

Konvertera och kör Selenium Projekt till TestNG

Steg 4) Efter att filen testng.xml har körts visas resultatet enligt följande. (Ingen konsolutdata visas eftersom inga System.out.println()-satser skrevs.)

Konvertera och kör Selenium Projekt till TestNG

Detta är ett sätt att utföra tester genom EclipseFör att köra samma testng.xml-svit från kommandotolken, följ stegen nedan.

Utförande TestNG via kommandoraden

Att köra en TestNG suite från kommandoraden måste du först hitta sökvägen till projektets arbetsyta och konstruera rätt classpath-kommando.

Steg 1) Högerklicka på Java projektera och välj Våra BostäderI fönstret Egenskaper väljer du Resurs.

Utförande TestNG via kommandoraden

Steg 2) Klicka på Resurs länken i den vänstra navigeringsrutan för att se den exakta projektets lagringsplats.

Utförande TestNG via kommandoraden

Projektets arbetsyta är C:\Användare\Användare\Skrivbord\Guru99\TestprojektÄndra katalogen till den platsen i kommandotolken.

Steg 3) Skriv följande generiska kommando:

java –cp "path_of_lib_folder\*; path_of_bin_folder; path_of_testng.jar" org.testng.TestNG testng.xml

För detta projekt, använd:

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
  C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG testng.xml

Steg 4) Klicka angeBåde DemoA och DemoB kommer att köras, och resultatet kommer att visas i kommandotolken.

Utförande TestNG via kommandoraden

Hur man kör endast misslyckade testfall

Om du bara vill köra de misslyckade testfallen genom Eclipse, uppdatera först projektet.

Steg 1) Högerklicka på Java projekt (DemoA och DemoB) och välj refresh, eller välj projektet och tryck på F5.

Steg 2) Du kommer nu att se testutdata mapp. Inuti den finns en fil med namnet testng-misslyckades.xml.

Kör endast misslyckade testfall

Steg 3) Högerklicka på den här filen och välj Kör som → TestNG Suite.

Obs: mappen test-output visas bara när minst ett testfall har misslyckats. Om alla testfall godkänns kommer mappen inte att innehålla testng-failed.xml. Om du kör den här filen körs endast de misslyckade testfallen igen.

Kör endast misslyckade testfall

Köra testng-failed.xml från kommandoraden

Steg 1) Öppna kommandotolken och navigera till projektets arbetsyta.

Köra testng-failed.xml från kommandoraden

Projektets arbetsyta är C:\Användare\Användare\Skrivbord\Guru99\TestprojektÄndra katalogen till den platsen.

Steg 2) Skriv följande generiska kommando:

java –cp "path_of_lib_folder\*; path_of_bin_folder; path_of_testng.jar" org.testng.TestNG test-output/testng-failed.xml

För detta projekt:

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG test-output/testng-failed.xml

Steg 3) Klicka ange. TestNG kör endast de misslyckade klasserna och visar resultat för dessa klasser.

Om du ändrar koden i DemoB till följande, kommer elementet inte att hittas och ett undantag kommer att utlösas. Eftersom undantaget inte hanteras kommer klassen att misslyckas:

driver.findElement(By.name("a")).sendKeys("Bye");

Köra testng-failed.xml från kommandoraden

Vanliga frågor

TestNG sparar den misslyckade testrapporten som testng-failed.xml i mappen test-output i ditt projekt efter alla testkörningar som innehåller fel.

Ja. Högerklicka på testng-failed.xml i Eclipse och välj Kör som TestNG Suite, eller använd kommandot java -cp i kommandotolken som pekar på test-output/testng-failed.xml.

TestNG skapar bara testng-failed.xml när minst ett test misslyckas. Om alla tester klaras saknas den misslyckade XML-filen i test-output.

Ja. AI-verktyg kan analysera stacken traces- och testng-failed.xml-innehåll för att identifiera grundorsaker, föreslå kodkorrigeringar och rekommendera förbättringar av assertioner automatiskt.

AI kan generera IRetryAnalyzer-implementeringar, klassificera osäkra kontra genuina fel och automatiskt justera antalet återförsök baserat på historiska testresultatmönster.

Sammanfatta detta inlägg med: