Generazione di report con C#

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Questa integrazione produce risultati in un formato compatibile con Axe DevTools reporter.

Creazione di JSON compatibili con il reporter

AxeSelenium.Analyze restituisce un Oggetto nella forma giusta per l'uso con il reporter di axe DevTools. Può essere facilmente [azione mancante] Convertito in una stringa JSON tramite il JsonConvert.SerializeObject metodo del JSON.NET Libreria di conversione JSON.

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 vengono configurati tramite ReportConfiguration classe. Controlla il link per visualizzare la sua API.

Una volta che un ReportConfiguration è stato configurato Una volta che un ReportConfiguration l'oggetto è nello stato desiderato, può essere applicato a una scansione in due modi:

  1. Può essere applicato a una singola scansione legandola a un singolo oggetto AxeSelenium tramite argomenti del costruttore

    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");
  2. Può essere applicato a tutte le scansioni che non vengono sovrascritte individualmente, impostando un'istanza di ReportConfiguration come predefinita

    ReportConfiguration.GetDefault().TestSuiteName("my suite").SetAsDefault()
    
    var axe = new AxeSelenium(driver);
    var results = axe.Analyze();
    
    Debug.Assert(results.Name == "my suite");

Puoi ottenere ReportConfiguration Istanza che attualmente funge da predefinita chiamando ReportConfiguration.GetDefault().

Esempio di codice di generazione

Axe DevTools offre uno strumento integrato per creare automaticamente report da visualizzare da parte dell'utente o da esportare.

L'esempio seguente imposta una configurazione di reporting globale con una AxeReporting classe contenente un CreateResultsOutput metodo per creare un file renderizzato JSON contenente i risultati del report.

Dopo aver completato l'esecuzione del CreateResultsOutput metodo, il LogResults metodo viene eseguito per avviare il binario axe DevTools Reporter utilizzando axe-TestCaseName.json come input per creare un file HTML leggibile dall'utente corrispondente per ciascun JSON file.

Sono disponibili tre formati per questi report. L'HTML funziona meglio per la visualizzazione da parte degli utenti in ambienti di test locali. Per gli ambienti CI è disponibile un'opzione XML JUnit. Il formato finale è CSV, che consente l'esportazione in numerosi altri programmi.

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();
        }
  }
}

Vedere anche