Auto Scan

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Automatisch Barrierefreiheitsprobleme ermitteln, während Ihre bestehenden UI-Tests mit Ihrer App interagieren

Not for use with personal data

Ü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.

tip

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

  1. 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 = ""
    }
  2. Wenn Sie unsere Tools verwenden und die Ergebnisse im Offline-Modus bevorzugen, setzen Sie einen Wert für die axeOfflineLicenseKey anstelle von axeMobileApiKey und axeProjectId.

    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
note

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=true in Ihrem axeDevTools 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 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.