Workflow-Spezifikation
Der axe DevTools CLI-Befehl spec
führt eine JSON- oder YAML/YML-Workflow-Spezifikation aus, mit der Sie eine Sammlung von Webseiten automatisieren und auf Barrierefreiheitsprobleme testen können.
Befehlsformat
axe spec
<spec-file>
<output-dir>
[Optionen]
Zum Beispiel:
axe spec deque-workflow.json ./axe-reports --format csv
Spezifikationsdatei
Eine Spezifikationsdatei ist eine JSON- oder YAML/YML-Datei, die ein Array von zu testenden Webseiten und verschiedene Konfigurationseigenschaften (wie unten erwähnt) enthält.
In einer Spezifikationsdatei verwendete Eigenschaften
Dies sind die Eigenschaften, die mit einer Spezifikationsdatei verwendet werden:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
projects |
Array | Gruppiert Tests und Arbeitsabläufe. |
. metadata |
Objekt | Bietet anpassbare Daten für Ihren Anwendungsfall. |
. name |
String | Eindeutiger Name des Projekts. |
. id |
String | Eindeutige Kennung des Projekts. |
. globalActions |
Array | (optional) Die axe DevTools CLI wartet, bis bestimmte Elemente auf einer Seite erscheinen, und schließt sie. Im folgenden Beispiel müssen Cookie-Nachrichten und Popups mit Benutzerumfragen bearbeitet werden, bevor die einzelnen Seiten getestet werden. |
. pageList |
Array | Seitenliste |
.. name |
String | Name der Seite |
.. url |
String | URL der Seite |
.. actions |
Array | (optional) Führt nacheinander Aktionen auf der getesteten Seite aus. Sie können beispielsweise ein Formular ausfüllen, durch eine Einzelseiten-App navigieren und die Anwendung in verschiedenen Zuständen testen. Im folgenden Beispiel gibt der Workflow „axe“ in die Deque-Such-UI ein. Die globale Aktion schließt das Cookie-Popup. Eine vollständige Liste der Aktionen finden Sie unter Workflow-Aktionen. |
Beispiel einer JSON-Datei
Hier ist ein Beispiel für eine JSON-Spezifikationsdatei:
{
"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/"
}
]
}
]
}
Beispiel einer YAML/YML-Datei
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/
Ausgabeverzeichnis
Das Ausgabeverzeichnis ist der Ort, an dem die axe DevTools CLI ihre Ergebnisse speichert (als JSON-Datei).
Der folgende Codeausschnitt speichert JSON-Ergebnisse und CSV-Berichte im ./axe-results/
Verzeichnis:
axe spec deque-workflow.json ./axe-results --format csv
Optionen
Für axe spec
stehen folgende Optionen zur Verfügung:
-c, --custom <Pfad>
Gibt einen zu verwendenden benutzerdefinierten Regelsatz an und überschreibt den Standardregelsatz.
--descendant-links
Ruft die Links auf der Webseite ab und hängt sie an die Ergebnisse an. Die --verbose Option ist erforderlich.
--enable-tracking <Zustand>
Ermöglicht das Senden von Daten an die Bibliothek für Metriken.
--filter [type(s)]
Bietet eine Liste mit Ergebnistypen zum Filtern der Ergebnisse: „Erfolgreich“, „Verletzungen“, „Unvollständig“, „Nicht anwendbar“. Die --format csv Option ist erforderlich.
axe reporter ./axe-reports/json/ --format=csv --filter passes,inapplicable
-f, --format [Wert]
Gibt den oder die Berichtstypen an [html|junit|csv|html+junit+csv]. Der Standardwert ist html.
--page-source
Fügt die Scan-Ergebnisse die gescannte HTML-Seite an. Sie müssen diese Option mit der Option --verbose
verwenden.
--page-name <Name>
Testet eine bestimmte Seite mit dem Namen name
aus dem pageList
Array in der JSON-Spezifikationsdatei.
--page-title
Ruft beim Scannen den Seitentitel ab und hängt ihn an die Scanergebnisse an. Sie müssen die Option --verbose
verwenden.
--remote-proxy <Proxy-Server>
Verwendet einen Remote-Proxyserver.
--resume-from <Name>
Führt die Tests nur nach einer bestimmten Seite aus name
.
--scanned-url
Fügt den ausführlichen Ergebnissen zusätzliche Metadaten hinzu: die Basis-URL, unter der der Scan gestartet wurde, und die URL des aktuellen Scans. Funktioniert nur mit dem Chrome-Browser und erfordert die Option --verbose
.
--set-distinct-id <distinct-id>
Ändert den Wert der eindeutigen ID.
--set-tracking-url <url>
Ändert die URL, an die die Messdaten gesendet werden.
-t, --tags
Filtert den Standardregelsatz nach tag.
--user-agent
Verwendet den Benutzeragent des angegebenen Browsers.
--validate
Überprüft Ihre Spezifikationsdatei, ohne sie auszuführen.
-v, --verbose
Erweitert die Ausgabe um zusätzliche Informationen, darunter axe Ergebnisse und Metadaten wie Name, Version und Umgebung des Testtools.
Weitere Optionen finden Sie unter Konfigurationsoptionen