Slik utfører du mislykkede testtilfeller i TestNG

⚡ Smart oppsummering

Kjører mislykkede testtilfeller i TestNG lar testere isolere og kjøre på nytt bare de testene som ikke bestod, noe som sparer tid og reduserer overflødig utførelse på tvers av hele suiten.

  • 🛠️ Prosjektoppsett: Lag en Java prosjekt i Eclipse, Legg til TestNG og Selenium JAR-biblioteker, og definere to testklasser (DemoA og DemoB).
  • 🔄 TestNG Konvertering: Konverter Java klasser til en TestNG suite ved å høyreklikke og velge TestNG konverteringsalternativet for å generere testng.xml.
  • 💻 Kommandolinjekjøring: Kjør testng.xml-pakken fra ledeteksten ved å bruke kommandoen java -cp med riktig klassesti som peker til lib- og bin-mappene.
  • Mislykket testdeteksjon: TestNG genererer automatisk en testng-failed.xml-fil i test-output-mappen når ett eller flere testtilfeller mislykkes.
  • 🔁 Kjør mislykkede tester på nytt: Kjør testng-failed.xml enten fra Eclipse (Kjør som TestNG Suite) eller kommandolinjen for å kjøre bare de mislykkede testtilfellene på nytt.

Lag en Selenium Prosjekt

Forbered prosjektet før du konverterer det til TestNGTrinnene nedenfor veileder deg gjennom oppretting av en Java prosjekt i Eclipse, sette opp pakkestrukturen og legge til de nødvendige JAR-bibliotekene.

Trinn 1) In Eclipse, lage en Java prosjektet ved å klikke på Ny Java Prosjekt.

Lag en Selenium Prosjekt

Trinn 2) I dette trinnet:

  1. Gi prosjektet et navn.
  2. Velg utførelsesmiljøet.
  3. Velg alternativet for prosjektoppsett.
  4. Klikk på Finish knapp.

Lag en Selenium Prosjekt

Etter at du har klikket på Fullfør, Testprosjekt Java prosjektet opprettes og vil vises i pakkeutforskeren.

Lag en Selenium Prosjekt

Trinn 3) Åpne det nyopprettede prosjektet. Du vil se src mappen i pakkeutforskeren.

  1. Høyreklikk på prosjektet og velg Ny.
  2. Velg Pakke alternativet.

Lag en Selenium Prosjekt

Trinn 4) I dette trinnet:

  1. Bla gjennom src-mappen og velg pakke.
  2. Gi pakken et navn.
  3. Klikk Finish. (Pakkenavn: com.test)

Lag en Selenium Prosjekt

Etter å ha klikket Finish, vil prosjektstrukturen se slik ut:

Lag en Selenium Prosjekt

Trinn 5) I dette trinnet:

  1. Høyreklikk på den nyopprettede pakken.
  2. Velg Klasse alternativet.

Lag en Selenium Prosjekt

Et nytt vindu åpnes.

Trinn 6) I dette trinnet:

  1. Gi klassen et navn.
  2. Velg modifikatorer.
  3. Bla gjennom og velg superklassen java.lang.Object.
  4. Klikk Finish.

Her oppretter du to klasser: DemoA og DemoB.

Først, opprett klassen DemoA.

Lag en Selenium Prosjekt

Etter å ha klikket Finish, klassen vil bli opprettet:

Lag en Selenium Prosjekt

På samme måte, opprett klassen DemoB:

Lag en Selenium Prosjekt

Trinn 7) Hvis du har installert TestNG biblioteket, klikk på Java Prosjekt → Egenskaper.

Lag en Selenium Prosjekt

Trinn 8) I Egenskaper-vinduet:

  1. Klikk på Java Bygg sti.
  2. Klikk på Bibliotekene.
  3. Klikk på Legg til bibliotek.

Lag en Selenium Prosjekt

Neste:

  1. Klikk på TestNG og deretter
  2. Klikk på neste.

Lag en Selenium Prosjekt

Klikk deretter på Finish knapp.

Lag en Selenium Prosjekt

Etter dette skriver du følgende kode.

For klassedemo A:

Lag en Selenium Prosjekt

Code Forklaring:

  • driver.manage().window().maximize(); — maksimerer nettleservinduet.
  • driver.get("https://www.google.co.in"); — legger inn det angitte URL i adressefeltet.
  • driver.findElement(By.name("q")).sendKeys("Hi"); — lokaliserer Google søkeboksen og skriver inn tekst ved hjelp av sendKeys-metoden.

Utgang: Programmet ovenfor inneholder feil, så det kan ikke kjøres som det er.

På samme måte, for klasse DemoB:

Lag en Selenium Prosjekt

De rødt understrekede ordene indikerer feil fordi den nødvendige JAR-filen ikke er lagt til ennå. For å rette disse feilene, legg til den tilsvarende JAR-filen. Høyreklikk på Java Prosjekt og velg Eiendommer.

Lag en Selenium Prosjekt

Trinn 8 (forts.) I Egenskaper-vinduet:

  1. Klikk på Java Bygg sti i venstre navigasjonsrute.
  2. Klikk på Bibliotekene fanen.
  3. Klikk Legg til eksterne JAR-filer og velg Selenium frittstående JAR-fil.
  4. Klikk OK.

Lag en Selenium Prosjekt

Etter dette trinnet vil alle feil bli fjernet automatisk. Hvis noen fortsatt er der, hold musepekeren over den feilmerkede koden og importer de nødvendige klassene og grensesnittene. @Test feil, hold musepekeren over og velg Legg til TestNG Bibliotek.

Trinn 9) I dette trinnet:

  1. Høyreklikk på prosjektet og velg Folder muligheten til å opprette en mappe med navnet lib.
  2. Lim inn TestNG JAR og Selenium JAR (selenium-server-standalone) ) inn i denne mappen. Last ned begge JAR-filene fra nettet, kopier dem, og høyreklikk deretter på lib-mappen i Eclipse og velg Lim inn.

Lag en Selenium Prosjekt

Trinn 10) I dette trinnet:

  1. Velg den overordnede mappen.
  2. Gi mappen navnet lib. (Denne mappen er kun nødvendig for kommandolinjekjøring; den er ikke nødvendig når du kjører testng.xml fra Eclipse.)
  3. Klikk Finish.

Lag en Selenium Prosjekt

Etter at du har opprettet mappen, er neste trinn å konvertere programmene DemoA og DemoB til en testng.xml-fil.

Konverter og utfør Selenium Prosjekt til TestNG

Trinn 1) I dette trinnet:

  1. Velg de to Java filene i pakken og høyreklikk.
  2. Velg TestNG alternativet.
  3. Klikk Konvertere til TestNG.

Konverter og utfør Selenium Prosjekt til TestNG

Trinn 2) Et nytt vindu åpnes. Skriv inn følgende detaljer:

  1. Vårt kontor:
  2. Suite navn
  3. Testnavn
  4. Klassevalg
  5. Parallell modus
  6. Klikk Finish.

Konverter og utfør Selenium Prosjekt til TestNG

testng.xml-filen opprettes under Java prosjektet og vil se slik ut:

Konverter og utfør Selenium Prosjekt til TestNG

(For å kjøre testng.xml fra EclipseHøyreklikk på filen i pakkeutforskeren og velg Løp så TestNG Suite.)

Trinn 3) Testng.xml suite-filen vil se slik ut:

Konverter og utfør Selenium Prosjekt til TestNG

Hvis du vil kjøre DemoA først, fjern linjen og legg den til før DemoB:

Konverter og utfør Selenium Prosjekt til TestNG

Konverter og utfør Selenium Prosjekt til TestNG

Trinn 4) Etter at testng.xml-filen er kjørt, vises resultatet som følger. (Ingen konsollutdata vises fordi ingen System.out.println()-setninger ble skrevet.)

Konverter og utfør Selenium Prosjekt til TestNG

Dette er én måte å utføre tester på EclipseFor å kjøre den samme testng.xml-pakken fra ledeteksten, følg trinnene nedenfor.

Henrette TestNG via kommandolinjen

Å kjøre en TestNG suite fra kommandolinjen, må du først finne banen til prosjektets arbeidsområde og konstruere riktig classpath-kommando.

Trinn 1) Høyreklikk på Java prosjekt og velg EiendommerI Egenskaper-vinduet velger du Ressurser.

Henrette TestNG via kommandolinjen

Trinn 2) Klikk på Ressurser lenken i venstre navigasjonsrute for å se den nøyaktige lagringsplassen for prosjektet.

Henrette TestNG via kommandolinjen

Prosjektarbeidsområdet er C:\Brukere\Bruker\Skrivebord\Guru99\TestProsjektEndre katalogen til den plasseringen i ledeteksten.

Trinn 3) Skriv inn følgende generiske kommando:

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

For dette prosjektet, bruk:

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

Trinn 4) Press EnterBåde DemoA og DemoB vil kjøres, og resultatet vil vises i ledeteksten.

Henrette TestNG via kommandolinjen

Slik kjører du kun mislykkede testtilfeller

Hvis du bare vil kjøre de mislykkede testtilfellene gjennom Eclipse, oppdater først prosjektet.

Trinn 1) Høyreklikk på Java prosjekt (DemoA og DemoB) og velg Forfriske, eller velg prosjektet og trykk på F5.

Trinn 2) Du vil nå se testutgang mappen. Inni den er det en fil som heter testng-mislyktes.xml.

Kjør kun mislykkede testtilfeller

Trinn 3) Høyreklikk på denne filen og velg Kjør som → TestNG Suite.

Merk: test-output-mappen vises bare når minst én testtilfelle har mislyktes. Hvis alle testtilfellene består, vil ikke mappen inneholde testng-failed.xml. Når denne filen kjøres, kjøres bare de mislykkede testtilfellene på nytt.

Kjør kun mislykkede testtilfeller

Kjøre testng-failed.xml fra kommandolinjen

Trinn 1) Åpne ledeteksten og naviger til prosjektets arbeidsområde.

Kjører testng-failed.xml fra kommandolinjen

Prosjektarbeidsområdet er C:\Brukere\Bruker\Skrivebord\Guru99\TestProsjekt. Endre katalogen til den plasseringen.

Trinn 2) Skriv inn 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

For dette prosjektet:

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

Trinn 3) Press Enter. TestNG vil bare kjøre de mislykkede klassene og vise resultater for disse klassene.

Hvis du endrer koden i DemoB til følgende, vil ikke elementet bli funnet, og et unntak vil bli kastet. Fordi unntaket ikke håndteres, vil klassen feile:

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

Kjører testng-failed.xml fra kommandolinjen

Spørsmål og svar

TestNG lagrer den mislykkede testrapporten som testng-failed.xml i test-output-mappen i prosjektet ditt etter enhver testkjøring som inkluderer feil.

Ja. Høyreklikk på testng-failed.xml i Eclipse og velg Kjør som TestNG Suite, eller bruk java -cp-kommandoen i ledeteksten som peker til test-output/testng-failed.xml.

TestNG oppretter bare testng-failed.xml når minst én test mislykkes. Hvis alle testene består, mangler den mislykkede XML-filen i test-output.

Ja. AI-verktøy kan analysere stakken traces- og testng-failed.xml-innhold for å finne underliggende årsaker, foreslå koderettelser og anbefale forbedringer av deklarasjoner automatisk.

AI kan generere IRetryAnalyzer-implementeringer, klassifisere ustabile vs. ekte feil og automatisk justere antall nye forsøk basert på historiske testresultatmønstre.

Oppsummer dette innlegget med: