Auto Scan mit dem XCUITest-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

Übersicht

Auto Scan erfasst automatisch Barrierefreiheits-Snapshots, während Sie durch Ihre iOS-App navigieren. Anstatt manuell Scans auf jedem Bildschirm auszulösen, starten Sie eine Auto Scan-Sitzung, interagieren mit der App und beenden die Sitzung, um einen Bericht zu erstellen.

tip

Wenn Sie mehr granulare Kontrolle in Ihren Tests benötigen, sehen Sie Gezieltes Testen mit Appium.

Wie es funktioniert

  1. Starten Sie eine Auto Scan-Sitzung (mit Ihren Anmeldeinformationen)
  2. Navigieren Sie durch Ihre App — Bildschirme werden automatisch gescannt
  3. Beenden Sie die Sitzung — ein HTML-Bericht wird bei ~/AxeDevToolsMobileResults/

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 Setzen Sie auf „AxeXCUITest“, um den Treiber mit integriertem Axe DevTools Mobile zu nutzen, um Barrierefreiheits-Scans durchzuführen.
bundleId String Die Bundle-ID der getesteten App. Beachten Sie, dass bundleId ein Teil des XCUITest-Treibers ist; möglicherweise haben Sie es bereits festgelegt.

Auto Scan starten

Bevor Sie Ihre Testreihe 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 sammeln 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 Codebeispiele verwenden JavaScript. Sehen Sie Codebeispiele für Auto Scan mit XCUITest für vollständigere Beispiele in mehreren Programmiersprachen.

Ergebnisse interpretieren

Konsolenzusammenfassung

Eine Konsolenzusammenfassung ähnlich der folgenden wird gedruckt, wenn die Testreihe endet:

----  Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: HomeScreen
  Issues: 3
  Issues by rule:
    - ColorContrast: 2
    - TouchTargetSize: 1

Scan 2:
  Screen: SettingsScreen
  Issues: 0

Total Scans: 2
❌ Total Issues: 3
----------------------------------------------------

Ein sauberer Lauf zeigt an, dass Axe Clean - 0 Issues Found 🎉 in der Konsole.

Ausgabedateien

Wenn die Auto Scan-Sitzung endet, wird ein HTML-Bericht bei ~/AxeDevToolsMobileResults/. Der Bericht enthält Barrierefreiheitsverletzungen, Erfolge und Empfehlungen für jeden während der Sitzung erfassten Bildschirm.

Auto Scan Unterstützung

Regeln

Auto Scan führt das vollständige Axe Regelset aus, mit Ausnahme von ScreenOrientation, SupportsDynamicType, und alle experimentellen Regeln. Finden Sie detaillierte Informationen darüber, was wir im Regelüberblick für iOSüberprüfen.

Entwickler-Hub

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-Anmeldedaten haben, verwenden Sie stattdessen einen Offline-Lizenzschlüssel:

// JavaScript example
await driver.execute('mobile: axeStartAutoScanSession', {
  axeOfflineLicenseKey: 'YOUR_OFFLINE_LICENSE_KEY'
});

// ... navigate through the app ...

await driver.execute('mobile: axeStopAutoScanSession', {});

Konfigurationsreferenz

Eigenschaften

Parameter Typ Erforderlich Beschreibung
axeUploadResults Boolesch Optional Ergebnisse zum Dashboard hochladen (Standard: true)
axeMobileApiKey Zeichenfolge Erforderlich* API-Schlüssel für cloudbasiertes Scannen
axeProjectId Zeichenfolge Optional Projekt-ID zur Organisation von Ergebnissen
axeOfflineLicenseKey Zeichenfolge Erforderlich* Lizenzschlüssel für Offline-Modus (Alternative zu Cloud-Anmeldedaten)
axeServerUrl (Veraltet) Zeichenfolge Ja Benutzerdefinierte Backend-URL (z. B. axe.company.com), für On-Prem/Private Cloud nur
axeAccountURL Zeichenfolge Ja Benutzerdefinierte Backend-URL (z. B. axe.company.com), für On-Prem/Private Cloud nur
axeHtmlReportPath Zeichenfolge Nein Vom Benutzer konfigurierbares Ausgabeverzeichnis für HTML-Bericht und Zusammenfassung. Standardmäßig ???

Geben Sie entweder Cloud-Anmeldedaten (axeMobileApiKey + axeProjectId+ axeAccountURL) oder eine axeOfflineLicenseKey.

Best Practices

Animationen deaktivieren

Erhalten Sie die genauesten und umfassendsten Ergebnisse von Auto Scan, indem Sie Animationen deaktivieren. Dadurch wird sichergestellt, dass die Bildschirme beim Erfassen vollständig gerendert werden. Fügen Sie Folgendes unter capabilities:

  capabilities: {
    // ...existing capabilities
    'appium:reduceMotion': true, // enables iOS "Reduce Motion" accessibility setting
  }

Fehlerbehebung

  • Sehen Sie Ergebnisse lokal, aber nicht im Developer Hub? Der Upload zum Developer Hub schlägt fehl, wenn die Größe einer Ergebnisdatei 20 MB überschreitet, obwohl alle Ergebnisse weiterhin lokal gespeichert und im lokalen HTML-Bericht angezeigt werden.
  • Protokolle prüfen. Suchen Sie nach AutoScan Meldungen in der Konsole.

Was kommt als Nächstes?

Sie können Ihre Ergebnisse im 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 dennoch verwenden, um nach Barrierefreiheitsproblemen zu suchen: Integration mit Cloud-Plattformen.