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 in Ihren Tests mehr granulare Kontrolle benötigen, siehe Gezielte Tests.
Wie es funktioniert
Unser Gradle-Plugin ersetzt Ihren JUnit-Instrumentierungs-Runner durch unseren benutzerdefinierten Runner. 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 in AxeDevToolsMobileResults, und lädt optional die Ergebnisse in den 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 bevorzugt im Offline-Modus erhalten möchten, setzen Sie einen Wert für das
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 generiert einen eigenständigen HTML-Bericht mit Screenshots, Daten zur View-Hierarchie und detaillierten Fehlerinformationen. 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 Plugin-Konfigurationsblock 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 aus, mit Ausnahme von ScreenOrientation und allen experimentellen Regeln (z. B. NestedActiveControl, NestedElementName, InaccessibleAction). Finden Sie detaillierte Informationen darüber, was wir prüfen, in der Regelübersicht für Android.
Entwickler-Hub
Auto Scan lädt Ihre Ergebnisse automatisch in den Axe Developer Hub hoch. Wenn Sie nur lokale Ergebnisse speichern möchten, setzen Sie axeUploadResults auf false.
Konfigurationsreferenz
Eigenschaften
| Eigenschaft | Typ | Erforderlich | Details |
|---|---|---|---|
axeAutoScanMode |
Boolean | Erforderlich | Standardmäßig auf 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 auf true. Auf false setzen, um nur lokale Ergebnisse zu erhalten. |
axeProjectId |
String | Optional | Eine Projekt-ID vom Developer Hub ist erforderlich, wenn axeUploadResults=true |
axeServerUrl (Veraltet) |
String | Optional | Benutzerdefinierte Backend-URL (z. B. axe.company.com), nur für lokal/privater Cloud |
axeAccountUrl |
String | Optional | Benutzerdefinierte Backend-URL (z. B. axe.company.com), nur für lokal/privater Cloud |
axeHtmlReportPath |
String | Optional | Vom Benutzer konfigurierbares Ausgabeverzeichnis für HTML-Bericht und Zusammenfassung. Standardmäßig auf build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
String | Optional | Nur erforderlich für Offline-Modus, wenn axeUploadResults=false |
* Hinweis: Sie müssen entweder das axeMobileApiKey oder das axeOfflineLicenseKey in Ihrer Konfiguration festlegen. Der API-Schlüssel ist erforderlich, es sei denn, Sie verwenden den Offline-Modus. 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 IhremaxeDevTools-Konfigurationsblock - 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 Hub ansehen. Erfahren Sie, wie Sie Axe DevTools Mobile in Ihre CI/CD-Pipeline integrieren. Verwenden Sie eine cloudbasierte Testplattform? Sie können dennoch Axe DevTools Mobile verwenden, um nach Barrierefreiheitsproblemen zu suchen: Integration mit Cloud-Plattformen.
