Sådan udføres mislykkede testsager i TestNG

⚡ Smart opsummering

Kørsel af mislykkede testcases i TestNG giver testere mulighed for kun at isolere og genudføre de tests, der ikke bestod, hvilket sparer tid og reducerer redundant udførelse på tværs af hele pakken.

  • 🛠️ Projektopsætning: Opret en Java projekt i Eclipse, Tilsættes TestNG og Selenium JAR-biblioteker og definere to testklasser (DemoA og DemoB).
  • 🔄 TestNG Konvertering: Konverter Java klasser til en TestNG suite ved at højreklikke og vælge TestNG convert-indstilling til at generere testng.xml.
  • 💻 Kommandolinjeudførelse: Kør testng.xml-pakken fra kommandoprompten ved hjælp af kommandoen java -cp med den korrekte klassesti, der peger på mapperne lib og bin.
  • Mislykket testdetektion: TestNG genererer automatisk en testng-failed.xml-fil i test-output-mappen, når en eller flere testtilfælde fejler.
  • 🔁 Gentag mislykkede tests: Kør testng-failed.xml enten fra Eclipse (Kør som TestNG Suite) eller kommandolinjen for kun at køre de mislykkede testtilfælde igen.

Opret en Selenium Projekt

Forbered projektet, før du konverterer det til TestNGTrinene nedenfor gennemgår oprettelsen af ​​en Java projekt i Eclipse, opsætning af pakkestrukturen og tilføjelse af de nødvendige JAR-biblioteker.

Trin 1) In Eclipse, lave en Java projekt ved at klikke på Ny Java Projekt.

Opret en Selenium Projekt

Trin 2) I dette trin:

  1. Giv projektet et navn.
  2. Vælg udførelsesmiljøet.
  3. Vælg projektlayoutindstillingen.
  4. Klik på knappen Finish .

Opret en Selenium Projekt

Efter at have klikket på Udfør, TestProjekt Java Projektet oprettes og vises i Pakkestifinderen.

Opret en Selenium Projekt

Trin 3) Åbn det nyoprettede projekt. Du vil se src mappen i Pakkestifinderen.

  1. Højreklik på projektet og vælg Ny.
  2. Vælg Pakke valgmulighed.

Opret en Selenium Projekt

Trin 4) I dette trin:

  1. Gennemse src-mappen, og vælg pakke.
  2. Giv pakken et navn.
  3. Klik Finish. (Pakkenavn: com.test)

Opret en Selenium Projekt

Efter at have klikket Finish, vil projektstrukturen se således ud:

Opret en Selenium Projekt

Trin 5) I dette trin:

  1. Højreklik på den nyoprettede pakke.
  2. Vælg Klasse valgmulighed.

Opret en Selenium Projekt

Et nyt vindue åbnes.

Trin 6) I dette trin:

  1. Giv klassen et navn.
  2. Vælg modifikatorer.
  3. Gennemse og vælg superklassen java.lang.Object.
  4. Klik Finish.

Her opretter du to klasser: DemoA og DemoB.

Først skal du oprette klassen DemoA.

Opret en Selenium Projekt

Efter at have klikket Finish, klassen vil blive oprettet:

Opret en Selenium Projekt

Opret på samme måde klassen DemoB:

Opret en Selenium Projekt

Trin 7) Hvis du har installeret TestNG bibliotek, klik på Java Projekt → Egenskaber.

Opret en Selenium Projekt

Trin 8) I vinduet Egenskaber:

  1. Klik på Java Byg sti.
  2. Klik på Biblioteker.
  3. Klik på Tilføj bibliotek.

Opret en Selenium Projekt

Næste:

  1. Klik på TestNG og så
  2. Klik på Næste.

Opret en Selenium Projekt

Klik derefter på Finish .

Opret en Selenium Projekt

Herefter skal du skrive følgende kode.

For KlassedemoA:

Opret en Selenium Projekt

Code Forklaring:

  • driver.manage().window().maximize(); — maksimerer browservinduet.
  • driver.get("https://www.google.co.in"); — indtaster den angivne URL i adressefeltet.
  • driver.findElement(By.name("q")).sendKeys("Hi"); — lokaliserer Google søgefeltet og indtaster tekst ved hjælp af sendKeys-metoden.

Output: Ovenstående program indeholder fejl, så det kan ikke udføres som det er.

Tilsvarende for klasse DemoB:

Opret en Selenium Projekt

De rødt understregede ord angiver fejl, fordi den nødvendige JAR-fil endnu ikke er tilføjet. For at rette disse fejl skal du tilføje den tilsvarende JAR-fil. Højreklik på Java Projekt og vælg Ejendomme.

Opret en Selenium Projekt

Trin 8 (fortsat) I vinduet Egenskaber:

  1. Klik på Java Byg sti i venstre navigationsrude.
  2. Klik på Biblioteker fane.
  3. Klik Tilføj eksterne JAR-filer og vælg Selenium en separat JAR-fil.
  4. Klik OK.

Opret en Selenium Projekt

Efter dette trin fjernes alle fejl automatisk. Hvis der stadig er nogen, skal du holde musen over den fejlmarkerede kode og importere de nødvendige klasser og grænseflader. @Test fejl, hold musen over og vælg Tilføj TestNG Bibliotek.

Trin 9) I dette trin:

  1. Højreklik på projektet og vælg Folder mulighed for at oprette en mappe med navnet lib.
  2. Sæt ind TestNG JAR og Selenium JAR (selenium-server-standalone) ) i denne mappe. Download begge JAR-filer fra nettet, kopier dem, og højreklik derefter på lib-mappen i Eclipse og vælg Indsæt.

Opret en Selenium Projekt

Trin 10) I dette trin:

  1. Vælg den overordnede mappe.
  2. Giv mappen navnet lib. (Denne mappe er kun nødvendig til kommandolinjekørsel; den er ikke nødvendig, når testng.xml køres fra Eclipse.)
  3. Klik Finish.

Opret en Selenium Projekt

Efter oprettelsen af ​​mappen er næste trin at konvertere programmerne DemoA og DemoB til en testng.xml-fil.

Konverter og udfør Selenium Projekt til TestNG

Trin 1) I dette trin:

  1. Vælg de to Java filerne i pakken, og højreklik.
  2. Vælg TestNG valgmulighed.
  3. Klik Konverter til TestNG.

Konverter og udfør Selenium Projekt til TestNG

Trin 2) Et nyt vindue åbnes. Indtast følgende oplysninger:

  1. Lokation
  2. Suite navn
  3. Testnavn
  4. Klassevalg
  5. Parallel tilstand
  6. Klik Finish.

Konverter og udfør Selenium Projekt til TestNG

testng.xml-filen oprettes under Java projekt og vil se sådan ud:

Konverter og udfør Selenium Projekt til TestNG

(For at køre testng.xml fra EclipseHøjreklik på filen i Pakke Explorer og vælg Løb som TestNG Suite.)

Trin 3) Testng.xml suite-filen vil se sådan ud:

Konverter og udfør Selenium Projekt til TestNG

Hvis du vil udføre DemoA først, skal du fjerne dens linje og tilføje den før DemoB:

Konverter og udfør Selenium Projekt til TestNG

Konverter og udfør Selenium Projekt til TestNG

Trin 4) Efter at have udført testng.xml-filen, vises resultatet som følger. (Der vises intet konsoloutput, fordi der ikke blev skrevet System.out.println()-sætninger.)

Konverter og udfør Selenium Projekt til TestNG

Dette er én måde at udføre tests på via EclipseFor at køre den samme testng.xml-pakke fra kommandoprompten skal du følge nedenstående trin.

Udfør TestNG via kommandolinjen

At køre en TestNG suite fra kommandolinjen, skal du først finde stien til projektets arbejdsområde og konstruere den korrekte classpath-kommando.

Trin 1) Højreklik på Java projekt og vælg EjendommeI vinduet Egenskaber skal du vælge Resource.

Udfør TestNG via kommandolinjen

Trin 2) Klik på knappen Resource linket i venstre navigationsrude for at se den nøjagtige projektlagringsplacering.

Udfør TestNG via kommandolinjen

Projektets arbejdsområde er C:\Brugere\Bruger\Skrivebord\Guru99\TestProjektSkift mappen til den placering i kommandoprompten.

Trin 3) Skriv følgende generiske kommando:

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

Til dette projekt skal du bruge:

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

Trin 4) Presse IndtastBåde DemoA og DemoB udføres, og resultatet vises i kommandoprompten.

Udfør TestNG via kommandolinjen

Sådan kører du kun mislykkede testcases

Hvis du kun vil udføre de mislykkede testtilfælde Eclipse, opdater først projektet.

Trin 1) Højreklik på Java projekt (DemoA og DemoB) og vælg Opfrisk, eller vælg projektet og tryk på F5.

Trin 2) Du vil nu se test-output mappe. Inde i den er der en fil med navnet testng-failed.xml.

Kør kun mislykkede testcases

Trin 3) Højreklik på denne fil og vælg Kør som → TestNG Suite.

Bemærk: Mappen test-output vises kun, når mindst én testcase er mislykket. Hvis alle testcases består, vil mappen ikke indeholde testng-failed.xml. Kørsel af denne fil genudfører kun de mislykkede testcases.

Kør kun mislykkede testcases

Kør testng-failed.xml fra kommandolinjen

Trin 1) Åbn kommandoprompten, og naviger til projektets arbejdsområde.

Kør testng-failed.xml fra kommandolinjen

Projektets arbejdsområde er C:\Brugere\Bruger\Skrivebord\Guru99\TestProjektSkift mappe til den placering.

Trin 2) Skriv følgende generiske kommando:

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

Til dette 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

Trin 3) Presse Indtast. TestNG vil kun køre de mislykkede klasser og vise resultater for disse klasser.

Hvis du ændrer koden til følgende i DemoB, vil elementet ikke blive fundet, og der vil blive kastet en undtagelse. Fordi undtagelsen ikke håndteres, vil klassen fejle:

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

Kør testng-failed.xml fra kommandolinjen

Ofte Stillede Spørgsmål

TestNG gemmer den mislykkede testrapport som testng-failed.xml i test-output-mappen i dit projekt efter enhver testkørsel, der indeholder fejl.

Ja. Højreklik på testng-failed.xml i Eclipse og vælg Kør som TestNG Suite, eller brug kommandoen java -cp i kommandoprompten, der peger på test-output/testng-failed.xml.

TestNG opretter kun testng-failed.xml, når mindst én test fejler. Hvis alle tests består, mangler den fejlede XML-fil i test-outputtet.

Ja. AI-værktøjer kan analysere stakken traces- og testng-failed.xml-indhold for at identificere grundlæggende årsager, foreslå koderettelser og anbefale forbedringer af assertions automatisk.

AI kan generere IRetryAnalyzer-implementeringer, klassificere ustabile vs. ægte fejl og automatisk justere antallet af gentagne forsøg baseret på historiske testresultatmønstre.

Opsummer dette indlæg med: