Berichte generieren mit C#
Reporter-kompatible JSON-Ausgabe mit Axe DevTools for Web für C# generieren
Diese Integration erzeugt Ergebnisse in einem Format, das mit dem Axe DevTools Reporter kompatibel ist.
Reporter-kompatibles JSON erstellen
AxeSelenium.Analyze gibt ein Objekt in der richtigen Form für die Verwendung mit dem Axe DevTools Reporter zurück. Es kann problemlos über die JsonConvert.SerializeObject-Methode der JSON.NET JSON Konvertierungsbibliothek in einen JSON-String konvertiert werden.
Hier ist ein Beispiel, in dem wir eine Seite analysieren und die Ergebnisse in einer Datei speichern:
var axe = new AxeSelenium(driver);
var results = axe.Analyze();
var jsonResults = JsonConvert.SerializeObject(results, Formatting.Indented);
File.WriteAllText("myResults.json", jsonResults);Den Bericht konfigurieren
Die Metadaten des Berichts werden über die ReportConfiguration-Klasse konfiguriert. Überprüfen Sie den Link, um die API zu sehen.
Sobald ein ReportConfiguration-Objekt im gewünschten Zustand ist, kann es auf zwei Arten auf einen Scan angewendet werden:
-
Es kann auf einen einzelnen Scan angewendet werden, indem es an ein einzelnes
AxeSelenium-Objekt über Konstruktorargumente gebunden wird.var 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"); -
Es kann auf alle Scans angewendet werden, die nicht individuell überschrieben werden, indem eine Instanz von
ReportConfigurationals Standard festgelegt wird.ReportConfiguration.GetDefault().TestSuiteName("my suite").SetAsDefault() var axe = new AxeSelenium(driver); var results = axe.Analyze(); Debug.Assert(results.Name == "my suite");
Sie können die ReportConfiguration-Instanz, die derzeit als Standard dient, über den Aufruf von ReportConfiguration.GetDefault() erhalten.
Beispiel für Generierungscode
Axe DevTools bietet ein integriertes Tool, um Berichte automatisch für die Benutzeransicht oder den Export zu erstellen.
Das folgende Beispiel richtet eine globale Berichterstellungskonfiguration mit einer AxeReporting-Klasse ein, die eine CreateResultsOutput-Methode enthält, um eine gerenderte JSON-Datei mit den Berichtsergebnissen zu erstellen.
Nach Abschluss der Ausführung der CreateResultsOutput-Methode wird die LogResults-Methode anschließend ausgeführt, um die Axe DevTools Reporter-Binärdatei mit der axe-TestCaseName.json als Eingabe zu starten, um für jede JSON-Datei eine entsprechende benutzerlesbare HTML-Datei zu erstellen.
Es gibt drei verfügbare Formate für diese Berichte. HTML eignet sich am besten für die Benutzeransicht in lokalen Testumgebungen. Für CI-Umgebungen ist eine JUnit XML-Option verfügbar. Das letzte Format ist CSV, das den Export in zahlreiche andere Tools ermöglicht.
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();
}
}
}Siehe auch
- Hochladen von JSON-Zugänglichkeitsergebnissen zu den Axe-Berichten beschreibt, wie Sie Ihre Ergebnisse in Axe-Berichte hochladen können.
- Erhalten eines Axe-Berichts-API-Schlüssels erklärt, wie Sie einen API-Schlüssel erhalten, um mit der Verwendung der Axe-Berichte zu beginnen.
- Erstellen und Filtern von Berichten zeigt, wie Sie Barriereberichte in CSV, XML oder HTML aus Ihren JSON-Barrierefreiheitsergebnissen erstellen können. Sie können Ihre Ausgabe auch nach Schweregrad filtern, indem Sie dieses Tool verwenden.
- Wie JSON-Ergebnisse auf der Festplatte gespeichert werden beschreibt die Namenskonventionen für JSON-Barrierefreiheitsergebnisse.
- Verwenden des CLI zum Senden von Zugänglichkeitsergebnissen an die Axe Developer Hub zeigt, wie Sie Ihre
.jsonErgebnisdateien zu Axe Developer Hub hochladen können.
