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

  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 bevorzugt im Offline-Modus erhalten möchten, setzen Sie einen Wert für das 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 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
note

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