XSLT-rapport in Selenium Webstuurprogramma

⚡ Slimme samenvatting

XSLT-rapport in Selenium WebDriver verbetert de standaard TestNG De output wordt gegenereerd door XML-resultaten om te zetten in een duidelijk, gebruiksvriendelijk HTML-rapport. Deze handleiding legt de vereisten, ANT-configuratie, rapportgeneratie en de verificatie van geslaagde, mislukte en overgeslagen resultaten uit aan de hand van interactieve cirkeldiagrammen.

  • 📊 Belangrijkste voordeel: XSLT transformeert ruwe gegevens TestNG De XML-uitvoer wordt omgezet in een leesbaar, interactief HTML-rapport met cirkeldiagrammen.
  • 🧩 XSL-elementen: Sjablonen, voorwaarden, lussen en waarde-extracDe vormgeving bepaalt hoe het uiteindelijke rapport eruitziet.
  • ⚙️ Vereisten: Installeer de ANT-buildtool, download het XSLT-pakket en voer een commando uit. TestNGdriven Selenium scripts.
  • Generatiestappen: Kopieer build.xml en testng-results.xsl naar het project en voer vervolgens build.xml uit als een ANT-build.
  • Resultaatverificatie: Het rapport maakt duidelijk onderscheid tussen geslaagde, mislukte en overgeslagen tests en biedt filtermogelijkheden.

XSLT-rapport in Selenium webdriver

XSLT-rapport

De XSLT-rapport in de Selenium raamwerk is een zeer belangrijk kenmerk dat wordt gebruikt om het standaardrapportagesysteem van dit systeem verder te verbeteren Testen. Het verbetert de TestNG De rapportagefunctie is zeer gebruiksvriendelijk. Het heeft bovendien een gebruiksvriendelijkere interface en een gedetailleerde beschrijving van de testresultaten.

Waar zit XSLT in? Selenium?

XSLT in Selenium XSLT is een taal voor het omzetten van XML-documenten naar andere XML-documenten. We kunnen uitvoerbestanden aanpassen door attributen en elementen in XML-bestanden toe te voegen of te verwijderen met behulp van XSLT. Dit helpt bij het snel interpreteren van resultaten en wordt ondersteund door alle browsers. Het maakt gebruik van XPath om door elementen en attributen in XML-documenten te navigeren. XSLT staat voor Extensible Stylesheet Language Transformations.

Hieronder staan ​​de meest gebruikte XSL-elementen in de programmeerwereld:

  • Het definieert dat dit document een XSLT-stylesheetdocument is.
  • wordt gebruikt om een ​​voorwaardelijke toets te maken aan de inhoud van het XML-bestand.
  • wordt gebruikt om sjablonen te bouwen.
  • wordt gebruikt om sjablonen op elementen toe te passen.
  • wordt gebruikt in combinatie met En om meerdere aandoeningen uit te drukken.
  • wordt gebruikt om elk XML-element van een opgegeven knooppunt te selecteren.
  • wordt gebruikt om uit tetract de waarde van een geselecteerd knooppunt.
  • wordt gebruikt om de uitvoer te sorteren.

Voorwaarde voor het genereren van een XSLT-rapport

Voordat u het rapport genereert, moet u ervoor zorgen dat aan de volgende voorwaarden is voldaan.

1) De ANT-buildtool moet geïnstalleerd zijn (het is noodzakelijk om ANT te installeren voor de XSLT-rapportagefunctie). ANT wordt gebruikt om de broncode te compileren en de build te maken. Het is bovendien zeer uitbreidbaar. Zie hiervoor deze informatie. link Voor de stappen om ANT te downloaden en te installeren.

2) Het XSLT-pakket is gedownload.

3) A Selenium script dat moet worden uitgevoerd door TestNG.

We zullen het XSLT-rapport bespreken in Selenium Webdriver tijdens dit voorbeeld.

Genereer XSLT-rapport in Selenium

Nu aan de vereisten is voldaan, is de volgende stap het uitvoeren van een script en het genereren van het rapport.

In dit scenario zullen we gebruikmaken van de Guru99 demo-sites om te illustreren hoe een XSLT-rapport gegenereerd kan worden.

ScenarioJe gaat een XSLT-rapport genereren en automatiseren voor het volgende scenario:

Genereer XSLT-rapport in Selenium

  • Log in op de applicatie.

Genereer XSLT-rapport in Selenium

  • Meld u af bij de applicatie.

    Genereer XSLT-rapport in Selenium

Nu gaan we het XSLT-rapport genereren in Selenium, zoals beschreven in de onderstaande stappen.

Stap 1) Maak en voer voor het bovengenoemde scenario de volgende code uit: Selenium script voor de Guru99 demo-site.

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;

public class Testing {
    WebDriver driver = new FirefoxDriver();

    @Test(priority=1)
    public void Login()
    {
        //Launching the Site.
        driver.get("https://demo.guru99.com/V4/");

        //Login to Guru99
        driver.findElement(By.name("uid")).sendKeys("mngr34926");
        driver.findElement(By.name("password")).sendKeys("amUpenu");
        driver.findElement(By.name("btnLogin")).click();
        //Verifying the manager home page
        Assert.assertEquals(driver.getTitle(),"Guru99 Bank Manager HomePage" );
    }

    @Test(priority=2)
    public void verifytitle()
    {
        //Verifying the title of the home page
        Assert.assertEquals(driver.getTitle(),"Guru99 Bank Manager HomePage" );
    }

    @Test(priority=3)
    public void Logout()
    {
        driver.findElement(By.linkText("Log out")).click();
        Alert alert = driver.switchTo().alert();
        alert.accept();
        //Verifying the title of the logout page
        Assert.assertEquals(driver.getTitle(),"Guru99 Bank Home Page" );
    }
}

Stap 2) Download hier het XSLT-rapportpakket link:

Download XSLT-rapportpakket

Pak de bovenstaande map uit en u krijgt de volgende bestanden:

  • build.xml
  • testng-resultaten.xsl

Inhoud van het XSLT-rapportpakket

Stap 3) Pak de map uit, kopieer alle bestanden en plak ze in de projectmap zoals weergegeven in de onderstaande schermafbeelding.

Plak de XSLT-bestanden in de hoofdmap van het project.

Stap 4) In deze stap voert u het build.xml-bestand uit vanuit Eclipse, zoals hieronder weergegeven:

Voer build.xml uit vanuit Eclipse.

Klik met de rechtermuisknop op het build.xml-bestand en klik vervolgens op 'Uitvoeren als Ant-build'.

Uitvoeren als Ant-build

Er wordt vervolgens een nieuw venster geopend. Selecteer nu de optie 'generateReport'.

Selecteer de optie generateReport.

Klik op de knop 'Uitvoeren'. Het rapport wordt dan gegenereerd.

XSLT-rapport verifiëren

Nadat u het rapport hebt gegenereerd, dient u te controleren of het correct is aangemaakt en de resultaten te bekijken.

Zodra de build succesvol is afgerond en u naar de projectmap bent gegaan, vindt u daar de testenng-xslt map.

Het XSLT-rapport testenng-xslt map controleren

In deze map vindt u de index.html bestand zoals hieronder weergegeven:

index.html in de testng-xslt-map

Open nu dit HTML-bestand in elke browser, bijvoorbeeld Firefox of Chrome dat ondersteuning biedt voor JavaScript. U vindt het rapport zoals weergegeven in onderstaande afbeelding. Het cirkeldiagram geeft de teststatus duidelijker weer. Met de filterfunctie kan de gebruiker de resultaten filteren op basis van de ingestelde criteria.

XSLT-rapport cirkeldiagram

Je vindt hier een cirkeldiagram met het percentage geslaagde, niet geslaagde en overgeslagen toetsen.

Om het resultaat in de normale opmaak weer te geven, klikt u op de Standaardsuite Aan de linkerkant van het venster. Daar zouden de details van elke test moeten worden weergegeven, zoals te zien is in de onderstaande schermafbeelding:

XSLT-rapport Standaard suite details

Nu maken we met kracht een test, geslaagd, mislukt en overgeslagen.

Om een ​​rapport van elk type testresultaat te bekijken, moeten we enkele wijzigingen aanbrengen in de onderstaande methoden.

  1. verificatietitel()In de Assert-instructie geven we een onjuiste verwachte paginatitel door. Wanneer de code wordt uitgevoerd, komt deze niet overeen met de verwachte titel, waardoor de test mislukt.
  2. Uitloggen()In deze methode slaan we de test geforceerd over met behulp van SkipException, zodat deze methode wordt overgeslagen wanneer de code wordt uitgevoerd.

Op deze manier proberen we het XSLT-rapport weer te geven met behulp van een cirkeldiagram. Dit diagram toont de testresultaten voor een geslaagde, mislukte of overgeslagen test.

@Test(priority=2)
public void verifytitle()
{
    //Verifying the title of the home page
    Assert.assertEquals(driver.getTitle(),"Guru99 Bank Manager" );
}

Een test in XSLT Report laten mislukken

@Test(priority=3)
public void Logout()
{
    throw new SkipException("Skip this");
}

Een test geforceerd overslaan in een XSLT-rapport

Nu hebben we één test voor elk type resultaatstatus, dwz geslaagd, mislukt en overgeslagen.

Na het uitvoeren van het script en het aanmaken van build.xml, controleer je het XSLT-rapport zoals weergegeven in de onderstaande schermafbeelding:

XSLT-rapport met geslaagde/mislukte/overgeslagen resultaten

Het testrapport is gebruiksvriendelijker en gemakkelijker te begrijpen. U kunt de resultaten ook filteren door het selectievakje in het onderstaande scherm aan te vinken.

Resultaten filteren in XSLT-rapport

NoteIn de schermafbeelding toont de optie 'config' de test waarvoor de configuratie is uitgevoerd. In een groot project is er veel configuratiecode, dus deze optie wordt meestal in grote projecten gebruikt.

Veelgestelde vragen

De standaard TestNG Een rapport is eenvoudige HTML met beperkte opmaak. Een XSLT-rapport zet dezelfde XML-resultaten om in een interactief, kleurgecodeerd dashboard met cirkeldiagrammen en filters, waardoor de resultaten (geslaagd, mislukt of overgeslagen) veel gemakkelijker te interpreteren zijn.

ANT compileert de broncode, voert de build uit en past het stylesheet testng-results.xsl toe op de XML-output. Zonder ANT zou de transformatie die de ruwe XML-output omzet, niet plaatsvinden. TestNG De resultaten in het opgemaakte XSLT-rapport kunnen niet worden uitgevoerd.

Na een succesvolle bouw, Selenium Er wordt een map genaamd testng-xslt aangemaakt in de hoofdmap van het project. Open het bestand index.html in deze map in een willekeurige map. JavaEen browser met scriptondersteuning is nodig om het opgemaakte rapport te bekijken.

AI-tools analyseren historische rapportgegevens om trends te signaleren, terugkerende storingen te clusteren en risicovolle gebieden te voorspellen. Hierdoor worden statische XSLT-rapporten omgezet in bruikbare inzichten en wordt de tijd die nodig is voor het handmatig controleren van resultaten aanzienlijk verkort.

Ja. AI-modellen vergelijken resultaten van meerdere uitvoeringen om tests te identificeren die inconsistent slagen of falen. Door deze onbetrouwbare tests te signaleren, kunnen teams hun testsuites stabiliseren voordat ze op de rapportresultaten vertrouwen.

Vat dit bericht samen met: