Generazione di Report con C#
Generazione di output JSON compatibile con il reporter di Axe DevTools for Web per C#
Questa integrazione produce risultati in un formato compatibile con il reporter di Axe DevTools.
Creazione di JSON compatibile con il reporter
AxeSelenium.Analyze restituisce un
oggetto nella forma corretta per essere utilizzato con il reporter di Axe DevTools. Può essere facilmente
convertito in una stringa JSON tramite il metodo JsonConvert.SerializeObject del
libreria di conversione JSON JSON.NET.
Ecco un esempio in cui analizziamo una pagina e salviamo i risultati in un file:
var axe = new AxeSelenium(driver);
var results = axe.Analyze();
var jsonResults = JsonConvert.SerializeObject(results, Formatting.Indented);
File.WriteAllText("myResults.json", jsonResults);Configurazione del report
I metadati del report sono configurati tramite la classe ReportConfiguration.
Controlla il link per visualizzare la sua API.
Una volta che un oggetto ReportConfiguration
è nello stato desiderato, può essere applicato a una scansione in due modi:
-
Può essere applicato a una singola scansione collegandolo a un singolo oggetto
AxeSeleniumtramite argomenti del costruttorevar 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"); -
Può essere applicato a tutte le scansioni che non sono singolarmente sovrascritte, impostando un'istanza di
ReportConfigurationcome predefinitoReportConfiguration.GetDefault().TestSuiteName("my suite").SetAsDefault() var axe = new AxeSelenium(driver); var results = axe.Analyze(); Debug.Assert(results.Name == "my suite");
Puoi ottenere l'istanza ReportConfiguration
attualmente in uso come predefinita chiamando ReportConfiguration.GetDefault().
Codice di esempio per la generazione
Axe DevTools offre uno strumento integrato per creare automaticamente report per la visualizzazione da parte degli utenti o per l'esportazione.
Il seguente esempio configura una configurazione di report globale con una classe AxeReporting contenente un metodo CreateResultsOutput per creare un file JSON renderizzato contenente i risultati del report.
Al termine dell'esecuzione del metodo CreateResultsOutput, il metodo LogResults si esegue successivamente per avviare il binary del Reporter di Axe DevTools usando il axe-TestCaseName.json come input per creare un file HTML leggibile dall'utente corrispondente a ciascun file JSON.
Ci sono tre formati disponibili per questi report. HTML funziona meglio per la visualizzazione da parte dell'utente in ambienti di test locali. Per gli ambienti CI, è disponibile un'opzione XML JUnit. L'ultimo formato è CSV, che consente l'esportazione verso numerosi altri strumenti.
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();
}
}
}Vedi Anche
- Caricamento dei risultati di accessibilità JSON su Axe Reports descrive come caricare i tuoi risultati su Axe Reports.
- Ottenere una chiave API per Axe Reports spiega come ottenere una chiave API per iniziare a utilizzare Axe Reports.
- Creazione e filtraggio dei report mostra come puoi creare report di accessibilità in formato CSV, XML o HTML dai tuoi risultati di accessibilità JSON. Puoi anche filtrare il tuo output per gravità utilizzando questo strumento.
- Come vengono memorizzati i risultati JSON sul disco descrive le convenzioni di denominazione dei file per i risultati di accessibilità JSON.
- Utilizzo della CLI per inviare i risultati di accessibilità a Axe Developer Hub mostra come puoi caricare i tuoi file di risultati
.jsonsu Axe Developer Hub.
