Rapporten genereren met C#
Reporter-compatibele JSON-uitvoer genereren met Axe DevTools voor Web voor C#
Deze integratie produceert resultaten in een formaat dat compatibel is met de Axe DevTools-reporter.
Reporter-compatibele JSON maken
AxeSelenium.Analyze retourneert een object in de juiste vorm voor gebruik met de Axe DevTools-reporter. Het kan eenvoudig worden
omgezet naar een JSON-tekenreeks via de JsonConvert.SerializeObject-methode van de
JSON.NET JSON-conversiebibliotheek.
Hier is een voorbeeld waarin we een pagina analyseren en de resultaten naar een bestand opslaan:
var axe = new AxeSelenium(driver);
var results = axe.Analyze();
var jsonResults = JsonConvert.SerializeObject(results, Formatting.Indented);
File.WriteAllText("myResults.json", jsonResults);Het rapport configureren
De metadata van het rapport worden geconfigureerd via de ReportConfiguration
klasse. Bekijk de link om de API te bekijken.
Zodra een ReportConfiguration
object in de gewenste staat is, kan het op twee manieren op een scan worden toegepast:
-
Het kan worden toegepast op een enkele scan door het te koppelen aan een enkel
AxeSelenium-object via constructorargumentenvar reportConfig = ReportConfiguration.GetDefault().TestSuiteName("my suite").UIState("some state"); var axe = new AxeSelenium(driver, reportConfig); var results = axe.Analyze(); Debug.Assert(results.Name == "my suite"); Debug.Assert(results.Id = "some state"); -
Het kan worden toegepast op alle scans die niet individueel worden overschreven, door een instantie van
ReportConfigurationals standaard in te stellenReportConfiguration.GetDefault().TestSuiteName("my suite").SetAsDefault() var axe = new AxeSelenium(driver); var results = axe.Analyze(); Debug.Assert(results.Name == "my suite");
U kunt de ReportConfiguration-instantie opvragen die momenteel als standaard fungeert door ReportConfiguration.GetDefault() aan te roepen.
Voorbeeld van generatiecode
Axe DevTools biedt een ingebouwd hulpmiddel om automatisch rapporten aan te maken voor gebruikersweergave of voor export.
Het volgende voorbeeld stelt een globale rapportconfiguratie in met een AxeReporting-klasse die een CreateResultsOutput-methode bevat om een gerenderd JSON-bestand te maken dat rapportresultaten bevat.
Na het voltooien van de uitvoering van de CreateResultsOutput-methode, wordt de LogResults-methode vervolgens uitgevoerd om de Axe DevTools Reporter-binaire te starten met gebruik van de axe-TestCaseName.json als invoer om een overeenkomstig gebruikersleesbaar HTML-bestand te maken voor elk JSON-bestand.
Er zijn drie beschikbare formaten voor deze rapporten. HTML werkt het beste voor gebruikersweergave in lokale testomgevingen. Voor CI-omgevingen is een JUnit XML-optie beschikbaar. Het laatste formaat is CSV, waarmee export naar tal van andere hulpmiddelen mogelijk is.
using System.IO;
using Newtonsoft.Json;
using System.Diagnostics;
using Deque.AxeDevtools.Selenium.Results;
namespace test
{
public class AxeReporting
{
public static void CreateResultsOutput(ReportResults results, string TestCaseName)
{
var jsonResults = JsonConvert.SerializeObject(results, Formatting.Indented);
File.WriteAllText("../../../reports/axe-" + TestCaseName + ".json", jsonResults);
}
public static void LogResults()
{
ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "../../../resources/repoter-cli-win.exe", Arguments = "../../../reports ../../../reports/a11y-reports --format html", };
Process proc = new Process() { StartInfo = startInfo, };
proc.Start();
}
}
}Zie ook
- Uploaden van JSON-toegankelijkheidsresultaten naar axe Reports beschrijft hoe u uw resultaten kunt uploaden naar axe Reports.
- Verkrijgen van een axe Reports API-sleutel legt uit hoe u een API-sleutel kunt verkrijgen om te beginnen met het gebruik van axe Reports.
- Rapporten maken en filteren laat zien hoe u toegankelijkheidsrapporten kunt maken in CSV, XML of HTML op basis van uw JSON-toegankelijkheidsresultaten. U kunt uw output ook filteren op ernst met dit hulpmiddel.
- Hoe JSON-resultaten op schijf worden opgeslagen beschrijft de naamgevingsconventies voor JSON-toegankelijkheidsresultaten.
- De CLI gebruiken om toegankelijkheidsresultaten naar axe Developer Hub te sturen laat zien hoe u uw
.jsonresultatenbestanden kunt uploaden naar axe Developer Hub.
