Génération de rapports avec 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

Cette intégration produit des résultats dans un format compatible avec le rapporteur Axe DevTools.

Création de JSON compatible avec Reporter

AxeSelenium.Analyze renvoie Objet correctement structuré pour être utilisé avec le générateur de rapports axe DevTools. Cela peut être facilement Converti en chaîne JSON via la méthode de JsonConvert.SerializeObject Bibliothèque de conversion JSON JSON.NET.

Voici un exemple où nous analysons une page et enregistrons les résultats dans un fichier :

var axe = new AxeSelenium(driver);
var results = axe.Analyze();
var jsonResults = JsonConvert.SerializeObject(results, Formatting.Indented);
File.WriteAllText("myResults.json", jsonResults);

Configuration du rapport

Les métadonnées du rapport sont configurées via ReportConfiguration classe. Consultez le lien pour voir son API.

Une fois une ReportConfiguration Une fois que l'objet est dans l'état souhaité, il peut être appliqué à un scan de deux manières :

  1. Il peut être appliqué à une seule analyse en le liant à un seul objet AxeSelenium via les arguments du constructeur

    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. Il peut être appliqué à toutes les analyses qui ne sont pas remplacées individuellement, en définissant une instance de ReportConfiguration comme valeur par défaut

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

Vous pouvez obtenir le ReportConfiguration Instance actuellement utilisée comme valeur par défaut en appelant ReportConfiguration.GetDefault().

Exemple de code de génération

axe DevTools propose un outil intégré pour créer automatiquement des rapports destinés à être visualisés par l'utilisateur ou à être exportés.

L'exemple suivant définit une configuration de rapport globale avec une AxeReporting classe contenant une CreateResultsOutput méthode permettant de créer un fichier rendu JSON contenant les résultats du rapport.

Une fois l'exécution de la CreateResultsOutput méthode terminée, la LogResults méthode s'exécute ensuite pour lancer le binaire axe DevTools Reporter en utilisant l' axe-TestCaseName.json comme entrée pour créer un fichier HTML lisible par l'utilisateur correspondant pour chaque JSON fichier.

Il existe trois formats disponibles pour ces rapports. Le HTML fonctionne mieux pour la visualisation des utilisateurs dans des environnements de test locaux. Pour les environnements CI, une option XML JUnit est disponible. Le format final est CSV, qui permet l'exportation vers de nombreux autres outils.

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

Voir aussi