Génération de rapports avec C#
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 :
-
Il peut être appliqué à une seule analyse en le liant à un seul objet
AxeSelenium
via les arguments du constructeurvar 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");
-
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éfautReportConfiguration.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
- Téléchargement des résultats d'accessibilité JSON dans les rapports axe décrit comment télécharger vos résultats dans les rapports axe.
- Obtention d'une clé API Axe Reports explique comment obtenir une clé API pour commencer à utiliser Axe Reports.
- Création et filtrage de rapports montre comment vous pouvez créer des rapports d'accessibilité au format CSV, XML ou HTML à partir de vos résultats d'accessibilité JSON. Vous pouvez également filtrer votre sortie par gravité à l'aide de cet outil.
- Comment les résultats JSON sont stockés sur le disque décrit les conventions de nommage des fichiers pour les résultats d'accessibilité JSON.