Génération de Rapports avec C#
Génération de sortie JSON compatible avec le reporter avec Axe DevTools pour le Web en C#
Cette intégration produit des résultats dans un format compatible avec le Reporter Axe DevTools.
Création de JSON compatible avec le reporter
AxeSelenium.Analyze retourne un
objet dans la forme appropriée pour une utilisation avec le reporter Axe DevTools. Il peut être facilement
converti en chaîne JSON via la méthode JsonConvert.SerializeObject du
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 la
classe ReportConfiguration. Consultez le lien pour voir son API.
Une fois qu'un objet ReportConfiguration
se trouve dans l'état désiré, il peut être appliqué à une analyse de deux manières :
-
Il peut être appliqué à une analyse unique en le liant à un seul objet
AxeSeleniumvia 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 individuellement redéfinies, en définissant une instance de
ReportConfigurationpar 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 l'instance ReportConfiguration
actuellement utilisée par défaut en appelant ReportConfiguration.GetDefault().
Exemple de code de génération
Axe DevTools offre un outil intégré pour créer automatiquement des rapports à l'intention des utilisateurs ou pour l'exportation.
L'exemple suivant configure une configuration de rapport globale avec une classe AxeReporting contenant une méthode CreateResultsOutput pour créer un fichier JSON rendu contenant les résultats du rapport.
Une fois l'exécution de la méthode CreateResultsOutput terminée, la méthode LogResults s'exécute après pour lancer le binaire Axe DevTools Reporter en utilisant le axe-TestCaseName.json comme entrée pour créer un fichier HTML lisible par l'utilisateur correspondant à chaque fichier JSON.
Il existe trois formats disponibles pour ces rapports. HTML est le mieux adapté à une visualisation par les utilisateurs dans des environnements de test locaux. Pour les environnements CI, une option XML JUnit est disponible. Le format final est CSV, ce 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écharger les résultats d'accessibilité JSON vers Axe Reports décrit comment télécharger vos résultats vers Axe Reports.
- Obtenir une clé API pour Axe Reports explique comment obtenir une clé API pour commencer à utiliser Axe Reports.
- Création et filtrage des rapports montre comment vous pouvez créer des rapports d'accessibilité en 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.
- Utiliser la CLI pour envoyer des résultats d'accessibilité à Axe Developer Hub montre comment vous pouvez télécharger vos fichiers de résultats
.jsonvers Axe Developer Hub.
