Spécifications du flux de travail
La commande axe DevTools CLI spec
exécute une spécification de workflow JSON ou YAML/YML, qui vous permet d'automatiser le test d'une collection de pages Web pour détecter les problèmes d'accessibilité.
Format de commande
axe spec
<fichier-spéc>
<répertoire-de-sortie>
[options]
Par exemple :
axe spec deque-workflow.json ./axe-reports --format csv
Fichier de spécifications
Un fichier de spécifications est un fichier JSON ou YAML/YML qui contient un tableau de pages Web à tester et diverses propriétés de configuration (comme mentionné ci-dessous).
Propriétés utilisées dans un fichier de spécifications
Voici les propriétés utilisées avec un fichier de spécifications :
Propriété | Type de données | Description |
---|---|---|
projects |
tableau | Regroupe les tests et les workflows. |
. metadata |
objet | Fournit des données personnalisables pour votre cas d'utilisation. |
. name |
string | Nom unique du projet. |
. id |
string | Identifiant unique du projet. |
. globalActions |
tableau | (facultatif) L'axe DevTools CLI attend que certains éléments apparaissent sur une page et les ferme. Dans l'exemple ci-dessous, les messages relatifs aux cookies et les fenêtres contextuelles d'enquête auprès des utilisateurs doivent être traités avant de tester chaque page. |
. pageList |
tableau | Liste des pages |
.. name |
string | Nom de la page |
.. url |
string | URL de la page |
.. actions |
tableau | (facultatif) Exécute les actions les unes après les autres sur la page testée. Vous pouvez, par exemple, remplir un formulaire, naviguer dans une application sur une seule page et tester l'application dans différents états. Dans l'exemple ci-dessous, le workflow entre « axe » dans l'interface utilisateur de recherche Deque. L'action globale ferme la fenêtre contextuelle du cookie. Pour la liste complète des actions, voir actions de workflow. |
Exemple de fichier JSON
Voici un exemple de fichier de spécifications JSON :
{
"projects": [
{
"metadata": {
"products": ["CLI"],
"environment": ["Prod"]
},
"name": "deque.com",
"id": "deque.com",
"globalActions": [
"dismiss modal \"#CybotCookiebotDialog\" with close button \"#CybotCookiebotDialogBodyButtonAccept\""
],
"pageList": [
{
"name": "Deque search",
"url": "https://www.deque.com/",
"actions": [
"type \"axe\" into element \"#searchform input\"",
"click element \"#searchform button\"",
"wait for element \".m-search-page\" to be found",
"analyze"
]
},
{
"name": "Axe Dashboard",
"url": "https://axe.deque.com/"
}
]
}
]
}
Exemple de fichier YAML/YML
projects:
- metadata:
products:
- CLI
environment:
- Prod
name: deque.com
id: deque.com
globalActions:
- >-
dismiss modal "#CybotCookiebotDialog" with close button
"#CybotCookiebotDialogBodyButtonAccept"
pageList:
- name: Deque search
url: https://www.deque.com/
actions:
- type "axe" into element "#searchform input"
- click element "#searchform button"
- wait for element ".m-search-page" to be found
- analyze
- name: Axe Dashboard
url: https://axe.deque.com/
Répertoire de sortie
Le répertoire de sortie est l'endroit où axe DevTools CLI enregistre ses résultats (sous forme de fichier JSON).
L'extrait de code suivant enregistre les résultats JSON et les rapports CSV dans le répertoire ./axe-results/
:
axe spec deque-workflow.json ./axe-results --format csv
Options
Les options suivantes sont disponibles pour axe spec
:
-c, --custom <chemin>
Spécifie un ensemble de règles personnalisé à utiliser et remplace l'ensemble de règles par défaut.
--liens-descendants
Récupère les liens sur la page Web et les ajoute aux résultats. Nécessite l'option --verbose .
--enable-tracking <état>
Permet d'envoyer des données à la bibliothèque de métriques.
--filter [type(s)]
Fournit une liste de types de résultats à filtrer : réussites, violations, incomplets, inapplicables. (L'option --format csv est obligatoire.)
axe reporter ./axe-reports/json/ --format=csv --filter passes,inapplicable
-f, --format [valeur]
Spécifie le ou les types de rapport [html|junit|csv|html+junit+csv]. La valeur par défaut est html.
--page-source
Ajoute la page HTML analysée aux résultats de l'analyse. Vous devez utiliser cette option avec l'option --verbose
.
--page-name <nom>
Teste une page spécifique nommée name
du pageList
tableau dans le fichier de spécifications JSON.
--page-title
Obtient le titre de la page lors du balayage et l'ajoute aux résultats du balayage. Vous devez utiliser --verbose
option.
--remote-proxy <serveur proxy>
Utilise un serveur proxy distant.
--resume-from <nom>
Exécute les tests uniquement après qu'une page spécifique name
est appelée.
--scanned-url
Ajoute des métadonnées supplémentaires aux résultats détaillés : l'URL de base où l'analyse a été lancée et l'URL de l'analyse en cours. Fonctionne uniquement avec le navigateur Chrome et nécessite l'option --verbose
.
--set-distinct-id <distinct-id>
Modifie la valeur du distinct id.
--set-tracking-url <url>
Modifie l'URL où les données de metrics sont envoyées.
-t, --tags
Filtre les règles standard par tag.
--user-agent
Utilise l'agent utilisateur du navigateur spécifié.
--valider
Vérifie votre fichier de spécifications sans l'exécuter.
-v, --verbose
Augmente la sortie pour inclure des informations supplémentaires, notamment les résultats de axe et les métadonnées telles que le nom de l'outil de test, la version et l'environnement.
Pour d'autres options, voir indicateurs de configuration