Auto Scan
Automatisch Barrierefreiheitsprobleme ermitteln, während Ihre bestehenden UI-Tests mit Ihrer App interagieren
Übersicht
Auto Scan erkennt automatisch Barrierefreiheitsprobleme, während Ihre bestehenden Espresso- oder UIAutomator-Tests mit Ihrer App interagieren. Sie müssen keine einzelnen Scan-Aufrufe hinzufügen oder Tests ändern. Auto Scan hört auf Bildschirmänderungen und scannt jeden einzigartigen Bildschirm automatisch.
Wenn Sie eine detailliertere Kontrolle in Ihren Tests benötigen, siehe Gezielte Tests.
Wie es funktioniert
Unser Gradle-Plugin ersetzt den JUnit-Instrumentierungsläufer durch unseren benutzerdefinierten Läufer. Dies ermöglicht es uns, Ihre Testsuite zu beobachten und Ihre Ergebnisse zur richtigen Zeit zu verarbeiten. Holen Sie sich das AxeDevToolsMobile Gradle Plugin.
Wenn der Test abgeschlossen ist, verarbeitet Auto Scan Ihre Ergebnisse und speichert ein JSON-Ergebnis für jeden Bildschirm sowie einen eigenständigen HTML-Bericht zu AxeDevToolsMobileResults, und lädt optional Ergebnisse zum Developer Hub hoch.
Erste Schritte
-
Einige Werte müssen gesetzt werden, um Benutzer zu konfigurieren und zu authentifizieren. Wir empfehlen, diese als Umgebungsvariablen auf Ihrem Computer und Ihren CI/CD-Pipelines hinzuzufügen, um Ihre Schlüssel sicher zu halten.
Groovy (
build.gradle):axeDevTools { axeMobileApiKey = '' axeAutoScanMode = true axeProjectId = '' }Kotlin DSL (
build.gradle.kts):axeDevTools { axeMobileApiKey = "" axeAutoScanMode = true axeProjectId = "" } -
Wenn Sie unsere Tools verwenden und die Ergebnisse im Offline-Modus bevorzugen, setzen Sie einen Wert für die
axeOfflineLicenseKeyanstelle vonaxeMobileApiKeyundaxeProjectId.Groovy (
build.gradle):axeDevTools { axeOfflineLicenseKey = '' axeAutoScanMode = true }Kotlin DSL (
build.gradle.kts):axeDevTools { axeOfflineLicenseKey = "" axeAutoScanMode = true }
Ergebnisse interpretieren
Konsolenzusammenfassung
Sobald die Testsuite abgeschlossen ist, können Sie einige Nachbearbeitungen in Ihren Gradle-Logs sehen, gefolgt von einer Zusammenfassung.
HTML rule report written to: /Users/user/Documents/workspace/android/project-name/app/build/reports/AxeDevToolsMobileResults/AxeDevToolsMobile_1773882427726.html
---- Axe DevTools Mobile Accessibility Summary ----
Scan 1:
Screen: Home Page
Issues: 6
Issues by rule:
- TouchSizeWcag: 3
- LabelAtFront: 1
- LabelInName: 1
- FocusableText: 1
Scan 35:
Screen: Wikipedia Alpha
Issues: 5
Issues by rule:
- LabelAtFront: 1
- LabelInName: 1
- TouchTargetSpacing: 1
- TouchSizeWcag: 1
- ColorContrast: 1
Total Scans: 35
❌ Total Issues: 123
---------------------------------------------------Ausgabedateien
Auto Scan erstellt einen eigenständigen HTML-Bericht mit Screenshots, Daten zur Ansichtenhierarchie und detaillierten Probleminformationen. Einzelne JSON-Ergebnisse werden im axe-test-data Verzeichnis gespeichert. Alle Dateien werden im app/build/reports/AxeDevToolsMobileResults Verzeichnis gespeichert.
| Datei | Format |
|---|---|
AxeDevToolsReport.html |
Interaktiver HTML-Bericht mit problemen pro Bildschirm, Elementdetails, Aufprallstufen |
<timestamp>-axe-node-hierarchy.json |
Einzelnes JSON-Ergebnis - 1 für jeden durchgeführten Scan |
Wenn Sie Ihre Ergebnisse in einem bestimmten Verzeichnis speichern möchten, können Sie dies im Konfigurationsblock des Plugins in Ihrer build.gradle Datei angeben.
axeDevTools {
axeMobileApiKey = "AXE_API_KEY"
axeProjectId = "DEVHUB_PROJECT_ID"
axeAutoScanMode = true
axeHtmlReportPath =
"User/Desktop/reports/AxeDevToolsMobileResults"
axeAccountUrl = "https://axe.deque.com"
Auto Scan Support
Regeln
Auto Scan führt das vollständige Axe-Regelset mit Ausnahme von ScreenOrientation und allen experimentellen Regeln (z. B. NestedActiveControl, NestedElementName, InaccessibleAction). Detaillierte Informationen darüber, was wir überprüfen, finden Sie im Regelübersicht für Android.
Entwickler-Hub
Auto Scan lädt Ihre Ergebnisse automatisch in den Axe Developer Hub hoch. Wenn Sie Ergebnisse nur lokal speichern möchten, stellen Sie axeUploadResults auf false.
Konfigurationsreferenz
Eigenschaften
| Eigenschaft | Typ | Erforderlich | Details |
|---|---|---|---|
axeAutoScanMode |
Boolean | Erforderlich | Standardmäßig false. Muss auf true gesetzt werden, um Auto Scan zu aktivieren. |
axeMobileApiKey |
String | Erforderlich* | Ein Axe DevTools Mobile API-Schlüssel von axe.deque.com ist erforderlich , wenn axeUploadResults=true |
axeOfflineLicenseKey |
String | Erforderlich* | Nur erforderlich für Offline-Modus, wenn axeUploadResults=false |
axeUploadResults |
Boolean | Optional | Standardmäßig true. Setzen Sie auf false für lokale Ergebnisse |
axeProjectId |
String | Optional | Eine Projekt-ID vom Entwickler-Hub ist erforderlich , wenn axeUploadResults=true |
axeServerUrl (Veraltet) |
String | Optional | URL für benutzerdefinierten Backend (z.B. axe.company.com), für lokal/privater Cloud nur |
axeAccountUrl |
String | Optional | URL für benutzerdefinierten Backend (z.B. axe.company.com), für lokal/privater Cloud nur |
axeHtmlReportPath |
String | Optional | Vom Benutzer konfigurierbares Ausgabeverzeichnis für HTML-Bericht und Zusammenfassung. Standardmäßig build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
String | Optional | Nur erforderlich für Offline-Modus, wenn axeUploadResults=false |
* Hinweis: Sie müssen entweder die axeMobileApiKey oder die axeOfflineLicenseKey in Ihrer Konfiguration festlegen. Der API-Schlüssel ist erforderlich, es sei denn, der Offline-Modus wird verwendet. Der Offline-Lizenzschlüssel ist nur für den Offline-Modus erforderlich.
Best Practices
Animationen deaktivieren
Erzielen Sie die genauesten und umfassendsten Ergebnisse mit Auto Scan, indem Sie Animationen deaktivieren. Dies stellt sicher, dass Bildschirme vollständig gerendert werden, wenn sie erfasst werden. Wenn Animationen nicht deaktiviert sind, können auftreten:
- Doppelte Scans, von denen Sie glauben, dass sie hätten entfernt werden sollen
- Scans mit Screenshots, die einen vorübergehenden Zustand zeigen
- Eine deutlich niedrigere Screenshot-Erfassungsrate als erwartet
Fehlerbehebung
Wenn Sie keine Scans im Developer Hub sehen, sollten Sie Ihre Protokolle auf Hinweise überprüfen, was möglicherweise falsch läuft, oder diese Checkliste durchgehen.
- Überprüfen Sie, dass
axeAutoScanMode=truein IhremaxeDevToolsKonfigurationsblock - Stellen Sie sicher, dass Sie unsere Abhängigkeit von Maven Central beziehen konnten
- Stellen Sie sicher, dass Sie die korrekte Variable für Ihren API/Lizenzschlüssel und Ihre Projekt-ID verwenden
- Überprüfen Sie die Größe Ihrer Ausgabedateien. Der Upload zum Developer Hub schlägt fehl, wenn die Größe einer Ergebnissdatei größer als 20MB ist, obwohl alle Ergebnisse lokal gespeichert und im lokalen HTML-Bericht angezeigt werden.
Was kommt als Nächstes?
Sie können Ihre Ergebnisse in Axe Developer Hubansehen. Erfahren Sie, wie Sie Axe DevTools Mobile in Ihre CI/CD-Pipeline integrieren. Verwenden Sie eine cloudbasierte Testplattform? Sie können Axe DevTools Mobile weiterhin nutzen, um nach Barrierefreiheitsproblemen zu suchen: Integration mit Cloud-Plattformen.
