Generación de informes con C#
Generación de salida JSON compatible con reportes usando Axe DevTools para Web para C#
Esta integración produce resultados en un formato compatible con el reportero de Axe DevTools.
Creación de JSON compatible con reportes
AxeSelenium.Analyze devuelve un
objeto con la forma correcta para su uso con el reportero de Axe DevTools. Se puede convertir fácilmente
en una cadena JSON mediante el método JsonConvert.SerializeObject de la
biblioteca de conversión JSON JSON.NET.
Aquí hay un ejemplo donde analizamos una página y guardamos los resultados en un archivo:
var axe = new AxeSelenium(driver);
var results = axe.Analyze();
var jsonResults = JsonConvert.SerializeObject(results, Formatting.Indented);
File.WriteAllText("myResults.json", jsonResults);Configuración del informe
Los metadatos del informe se configuran a través de la
clase ReportConfiguration. Revisa el enlace para ver su API.
Una vez que un objeto ReportConfiguration
esté en el estado deseado, se puede aplicar a un escaneo de dos maneras:
-
Se puede aplicar a un solo escaneo vinculándolo a un único objeto
AxeSeleniumvía argumentos del constructorvar 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"); -
Se puede aplicar a todos los escaneos que no estén individualmente sobrescritos, estableciendo una instancia de
ReportConfigurationcomo predeterminadaReportConfiguration.GetDefault().TestSuiteName("my suite").SetAsDefault() var axe = new AxeSelenium(driver); var results = axe.Analyze(); Debug.Assert(results.Name == "my suite");
Puedes obtener la instancia de ReportConfiguration
que actualmente sirve como predeterminada llamando a ReportConfiguration.GetDefault().
Código de generación de ejemplo
Axe DevTools ofrece una herramienta incorporada para crear automáticamente informes para visualización por parte del usuario o para exportación.
El siguiente ejemplo configura una configuración global de reportes con una clase AxeReporting que contiene un método CreateResultsOutput para crear un archivo JSON renderizado que contiene los resultados del informe.
Al completar la ejecución del método CreateResultsOutput, el método LogResults se ejecuta después para lanzar el binario del Reporter de Axe DevTools usando el axe-TestCaseName.json como entrada para crear un archivo HTML legible por el usuario correspondiente a cada archivo JSON.
Hay tres formatos disponibles para estos informes. HTML funciona mejor para visualización por parte del usuario en entornos de prueba locales. Para entornos de CI, hay una opción XML JUnit disponible. El formato final es CSV, que permite la exportación a numerosas otras herramientas.
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();
}
}
}Ver también
- Cargando Resultados de Accesibilidad JSON a Axe Reports describe cómo cargar tus resultados en Axe Reports.
- Obteniendo una Clave API de Axe Reports explica cómo obtener una clave API para comenzar a usar Axe Reports.
- Crear y Filtrar Informes muestra cómo puedes crear informes de accesibilidad en CSV, XML o HTML a partir de tus resultados de accesibilidad JSON. También puedes filtrar tu salida por severidad utilizando esta herramienta.
- Cómo se Almacenan los Resultados JSON en el Disco describe las convenciones de nomenclatura de archivos para resultados de accesibilidad JSON.
- Usando la CLI para Enviar Resultados de Accesibilidad al Centro de Desarrolladores de Axe muestra cómo puedes subir tus archivos de resultados
.jsona Centro de Desarrolladores de Axe.
