Auto Scan mit dem UIAutomator2-Treiber

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
Not for use with personal data

Überblick

Auto Scan überwacht kontinuierlich Ihre Android-App auf Barrierefreiheitsprobleme, während Ihre Tests laufen. Anstatt einen Bildschirm nach dem anderen zu scannen, erfasst es Barrierefreiheits-Snapshots bei jedem UI-Wechsel und verarbeitet sie alle am Ende.

tip

Wenn Sie eine detailliertere Steuerung Ihrer Tests benötigen, sehen Sie Gezieltes Testen mit Appium.

Wie es funktioniert

  1. Starten Auto Scan zu Beginn Ihres Tests
  2. Interagieren mit Ihrer App — jeder Bildschirmwechsel wird automatisch erfasst
  3. Stoppen Auto Scan — die Ergebnisse werden verarbeitet und auf Ihren lokalen Rechner übertragen

Die Ergebnisse werden in build/AxeDevToolsMobileResults/ in Ihrem Projektverzeichnis gespeichert.

Erste Schritte

Starten Sie den Appium-Server wie gewohnt:

appium

Konfigurieren Sie Ihre Tests

Fügen Sie aus Ihren Appium-Automatisierungsskripten die für Axe DevTools Mobile erforderlichen Fähigkeiten hinzu.

Name Typ Beschreibung
automationName String Auf 'AxeUiAutomator2' setzen, um den Treiber mit eingebettetem Axe DevTools Mobile für Barrierefreiheits-Scans zu nutzen.
appPackage String Der Paketname der zu testenden Anwendung. Beachten Sie, dass appPackage Teil des UiAutomator2-Treibers ist; möglicherweise haben Sie diesen bereits eingestellt.

Auto Scan starten

Bevor Sie Ihr Testpaket starten, starten Sie Auto Scan, indem Sie die axeStartAutoScanSession API aufrufen:

beforeAll(async () => { // Start auto scan 
await driver.executeScript('mobile: axeStartAutoScanSession', [{ 
  axeMobileApiKey: 'your-api-key',
  axeProjectId: 'your-devhub-project-id',
  axeAccountURL: 'https://axe.deque.com',
  axeHtmlReportPath: './reports/accessibility' // optional (local dir; default 'build/AxeDevToolsMobileResults')
  ... 
  }]); 
})

Auto Scan beenden

Kurz bevor die Testreihe endet, rufen Sie die axeStopAutoScanSession API auf, um Auto Scan zu stoppen und die Ergebnisse zu aggregieren und hochzuladen.

// Stop - the report is pulled to axeHtmlReportPath on the local machine
const result = await driver.executeScript('mobile: axeStopAutoScanSession');

// result.localDirectory -> local directory the report was saved into
note

Die obigen Codeausschnitte verwenden JavaScript. Sehen Sie Auto Scan Code-Beispiele mit UIAutomator2 für vollständigere Beispiele in mehreren Programmiersprachen.

Ergebnisse interpretieren

Konsole-Zusammenfassung

Nachdem die Test-Suite beendet ist, können Sie eine Zusammenfassung im Konsolenfenster finden, in dem der Appium-Server läuft.

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

Wenn die Auto Scan-Sitzung endet, wird ein HTML-Bericht unter build/AxeDevToolsMobileResults/ generiert. Der Bericht enthält Zugänglichkeitsverletzungen, erfolgreiche Prüfungen und Empfehlungen für jeden während der Sitzung erfassten Bildschirm.

Unterstützung von Auto Scan

Regeln

Auto Scan führt den vollständigen Satz von Axe-Regeln aus, mit Ausnahme von ScreenOrientation und allen experimentellen Regeln (z. B. NestedActiveControl, NestedElementName, InaccessibleAction). Finden Sie detaillierte Informationen darüber, was wir prüfen, im Regelübersicht für Android.

Entwicklerzentrum

Auto Scan lädt Ihre Ergebnisse automatisch zum Axe Developer Hub hoch. Wenn Sie die Ergebnisse nur lokal speichern möchten, setzen Sie axeUploadResults auf false.

Offline-Modus

Wenn Sie keine Cloud-Zugangsdaten haben, verwenden Sie stattdessen die Offline-Variante des Treibers mit einem Offline-Lizenzschlüssel. Installieren Sie @axe-devtools/axe-appium3-uiautomator2-driver-offline und übergeben Sie axeOfflineLicenseKey beim Start der Sitzung.

Konfigurationsreferenz

Eigenschaften

Parameter Typ Erforderlich Beschreibung
axeUploadResults boolean Nein Ergebnisse in das Entwicklerzentrum hochladen
axeMobileApiKey string Ja* Ihr Axe DevTools Mobile API-Schlüssel
axeProjectId string Nein Projekt-ID zur Organisation der Ergebnisse
axeOfflineLicenseKey string Ja* Lizenzschlüssel für den Offline-Modus (Alternative zu Cloud-Anmeldedaten)
axeServerUrl (Veraltet) string Ja Benutzerdefinierte Backend-URL (z. B. axe.company.com), nur für On-Prem/Private Cloud
axeAccountURL string Ja Benutzerdefinierte Backend-URL (z. B. axe.company.com), nur für On-Prem/Private Cloud
axeHtmlReportPath string Nein Benutzerkonfigurierbares Ausgabeverzeichnis für den HTML-Bericht und die Zusammenfassung. Standardmäßig build/AxeDevToolsMobileResults

*Geben Sie entweder Cloud-Zugangsdaten an (axeMobileApiKey + axeProjectId + axeAccountURL) oder ein axeOfflineLicenseKey.

Animationen deaktivieren

Erhalten Sie die genauesten und umfassendsten Ergebnisse vom Auto-Scan, indem Sie Animationen deaktivieren. Dadurch wird sichergestellt, dass Bildschirme beim Erfassen vollständig gerendert werden. Wenn Animationen nicht deaktiviert sind, können folgende Probleme auftreten:

  • Doppelte Scans, die Ihrer Meinung nach hätten gelöscht werden sollen
  • Scans mit Screenshots, die einen Übergangszustand zeigen
  • Eine deutlich niedrigere Bildschirmaufnahmegeschwindigkeit, als Sie erwarten könnten

Fügen Sie Folgendes unter capabilities hinzu:

capabilities: {
    // ...existing capabilities
    'appium:disableWindowAnimation': true, // disables window animations
  }

Fehlerbehebung

Wenn Sie keine Scans im Developer Hub sehen, sollten Sie Ihre Protokolle nach Hinweisen durchsuchen, was möglicherweise schiefgelaufen ist, oder diese Checkliste durchgehen.

  • Stellen Sie sicher, dass Sie die korrekte Variable für Ihren API-/Lizenzschlüssel und die 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 20 MB 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 Axe DevTools Mobile weiterhin nutzen, um nach Zugänglichkeitsproblemen zu suchen. Sehen Sie Automatisiertes Testen auf Cloud-Plattformen mit Appium.