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 je meer gedetailleerde controle in je tests nodig hebt, zie Gericht testen met Appium.

Hoe het werkt

  1. **Start** een auto scan sessie (met je referenties)
  2. **Navigeer** door je app — schermen worden automatisch gescand
  3. **Stop** de sessie — een HTML-rapport wordt gegenereerd bij ~/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 Instellen op 'AxeXCUITest' om de driver met ingebouwde axe DevTools Mobile te gebruiken voor toegankelijkheidsscans.
bundleId String De bundelidentifier van de te testen app. Let op dat bundleId een onderdeel is van de XCUITest-driver; je hebt deze mogelijk al ingesteld.

Start Auto Scan

Voordat je je test suite start, begin Auto Scan door de axeStartAutoScanSession API aan te roepen:

beforeAll(async () => { // Start auto scan 
await driver.executeScript('mobile: axeStartAutoScanSession', 
    [{ axeMobileApiKey: 'your-api-key',
    axeProjectId: 'your-devhub-project-id' 
    ... 
    }]); 
})

Stop Auto Scan

Net voordat de test suite eindigt, roep de axeStopAutoScanSession API aan om Auto Scan te stoppen en de resultaten te aggregeren en uploaden.

await driver.executeScript('mobile: axeStopAutoScanSession', []);
note

De bovenstaande codefragmenten gebruiken JavaScript. Zie Auto Scan codevoorbeelden met XCUITest voor meer complete 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 run zal Axe Clean - 0 Issues Found 🎉 in de console tonen.

Uitvoerbestanden

Wanneer de Auto Scan-sessie stopt, wordt er een HTML-rapport gegenereerd bij ~/AxeDevToolsMobileResults/. Het rapport bevat toegankelijkheidsschendingen, -goedkeuringen 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 waar we naar kijken in de Regeloverzicht voor iOS.

Developer Hub

Auto Scan uploadt uw resultaten automatisch naar Axe Developer Hub. Als u de resultaten alleen lokaal wilt opslaan, stel dan 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 Resultaten uploaden 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 String Optioneel Axe DevTools Mobile server URL

Geef **of** cloud-gegevens (axeMobileApiKey + axeProjectId+ optioneel axeServerUrl) **of** een axeOfflineLicenseKey.

Best Practices

Animaties Uitschakelen

Verkrijg de meest nauwkeurige en uitgebreide resultaten van Auto Scan door animatie uit te schakelen. Dit zorgt ervoor dat schermen volledig worden gerenderd wanneer ze vastgelegd worden. 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? Het uploaden naar Developer Hub mislukt als de grootte van een enkel resultaatsbestand groter is dan 20MB, hoewel alle resultaten nog steeds lokaal worden opgeslagen en weergegeven 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. Gebruik je een cloudgebaseerd testplatform? Je kunt Axe DevTools Mobile nog steeds gebruiken om toegankelijkheidsproblemen te detecteren: Integreren met cloudplatforms.