Automatisch scannen met de XCUITest-driver
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.
Als je meer gedetailleerde controle in je tests nodig hebt, zie Gericht testen met Appium.
Hoe het werkt
- **Start** een auto scan sessie (met je referenties)
- **Navigeer** door je app — schermen worden automatisch gescand
- **Stop** de sessie — een HTML-rapport wordt gegenereerd bij
~/AxeDevToolsMobileResults/
Aan de slag
Start de Appium-server zoals gebruikelijk:
appiumConfigureer 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', []);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
AutoScanberichten 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.
