Automatisch scannen met de XCUITest-driver

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

Overzicht

Auto Scan legt automatisch toegankelijkheidssnapshots vast terwijl je door je iOS-app navigeert. In plaats van handmatig scans op elk scherm te starten, begin je een auto scan sessie, interacteer je met de app en stop je de sessie om een rapport te genereren.

tip

Als u meer gedetailleerde controle in uw tests nodig hebt, zie Gericht testen met Appium.

Hoe het werkt

  1. **Start** een automatische scansessie (met uw inloggegevens)
  2. **Navigeer** door uw app — schermen worden automatisch gescand
  3. **Stop** de sessie — er wordt een HTML-rapport gegenereerd op ~/AxeDevToolsMobileResults/

Aan de slag

Start de Appium-server zoals gebruikelijk:

appium

Configureer je tests

Voeg vanuit je Appium-automatiseringsscripts de vereiste mogelijkheden toe voor Axe DevTools Mobile.

Naam Type Beschrijving
automationName String Stel in op 'AxeXCUITest' om de driver met Axe DevTools Mobile te gebruiken om toegankelijkheidsscans uit te voeren.
bundleId String De bundle-ID van de app die wordt getest. Let op dat bundleId onderdeel is van de XCUITest-driver; u heeft deze wellicht al ingesteld.

Start Auto Scan

Start Auto Scan door de axeStartAutoScanSession API aan te roepen voordat u uw testsuite start:

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')
  ... 
  }]); 
})

Stop Auto Scan

Roep vlak voordat de testsuite eindigt de axeStopAutoScanSession API aan om Auto Scan te stoppen en om de resultaten te aggregeren en te uploaden.

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

De bovenstaande codevoorbeelden gebruiken JavaScript. Zie Auto Scan codevoorbeelden met XCUITest voor meer volledige voorbeelden in meerdere programmeertalen.

Resultaten interpreteren

Consolesamenvatting

Een consolesamenvatting vergelijkbaar met het volgende wordt afgedrukt wanneer de test suite eindigt:

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

Een schone uitvoering toont Axe Clean - 0 Issues Found 🎉 in de console.

Uitvoerbestanden

Wanneer de Auto Scan-sessie stopt, wordt er een HTML-rapport gegenereerd op ~/AxeDevToolsMobileResults/. Het rapport bevat toegankelijkheidsproblemen, successen en aanbevelingen voor elk scherm dat tijdens de sessie is vastgelegd.

Ondersteuning voor Auto Scan

Regels

Auto Scan voert de volledige Axe-regelset uit met uitzondering van ScreenOrientation, SupportsDynamicType en alle experimentele regels. Vind gedetailleerde informatie over wat we controleren in de Regeloverzicht voor iOS.

Developer Hub

Auto Scan uploadt uw resultaten automatisch naar Axe Developer Hub. Als u alleen resultaten lokaal wilt opslaan, stel axeUploadResults in op false.

Offline-modus

Als u geen cloud-gegevens hebt, gebruik dan in plaats daarvan een offline licentiesleutel:

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

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

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

Configuratiereferentie

Eigenschappen

Parameter Type Vereist Beschrijving
axeUploadResults Booleaans Optioneel Upload resultaten naar dashboard (standaard: true)
axeMobileApiKey String Vereist* API-sleutel voor cloudgebaseerde scanning
axeProjectId String Optioneel Project-ID voor het organiseren van resultaten
axeOfflineLicenseKey String Vereist* Licentiesleutel voor offline-modus (alternatief voor cloud-gegevens)
axeServerUrl (Afgekeurd) string Ja Aangepaste backend-URL (bijv. axe.company.com), alleen voor on-prem/private cloud
axeAccountURL string Ja Aangepaste backend-URL (bijv. axe.company.com), alleen voor on-prem/private cloud
axeHtmlReportPath string Nee Door de gebruiker configureerbare uitvoermap voor HTML-rapport en samenvatting. Standaard op ???

Verstrek **of** cloud-credentials (axeMobileApiKey + axeProjectId+ axeAccountURL) **of** een axeOfflineLicenseKey.

Best Practices

Animaties Uitschakelen

Krijg de meest nauwkeurige en uitgebreide resultaten van Auto Scan door animaties uit te schakelen. Dit zorgt ervoor dat schermen volledig zijn gerenderd wanneer ze worden vastgelegd. Voeg het volgende toe onder capabilities:

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

Probleemoplossing

  • Resultaten lokaal zien, maar niet in Developer Hub? De upload naar Developer Hub mislukt als de grootte van een enkel resultbestand groter is dan 20MB, hoewel alle resultaten nog steeds lokaal worden opgeslagen en getoond in het lokale HTML-rapport.
  • Controleer logs. Zoek naar AutoScan berichten in de console.

Wat Nu?

U kunt uw resultaten bekijken in Axe Developer Hub. Leer hoe u Axe DevTools Mobile integreren in je CI/CD-pijplijn. Gebruikt u een cloudgebaseerd testplatform? U kunt nog steeds Axe DevTools Mobile gebruiken om toegankelijkheidsproblemen te zoeken: Integreren met cloudplatforms.