Auto Scan
Identificeer automatisch toegankelijkheidsproblemen terwijl je bestaande UI-tests je app gebruiken
Overzicht
Auto Scan identificeert automatisch toegankelijkheidsproblemen terwijl je bestaande Espresso- of UIAutomator-tests je app gebruiken, zonder dat je individuele scanoproepen of aanpassingen aan je tests hoeft toe te voegen. Auto Scan luistert naar schermwijzigingen en scant elk uniek scherm automatisch.
Als je meer gedetailleerde controle in je tests nodig hebt, zie dan Gerichte Testen.
Hoe het werkt
Onze Gradle-plugin vervangt je JUnit-instrumentatietestuitvoerder door onze aangepaste uitvoerder. Dit stelt ons in staat om je testsuite te observeren en je resultaten op het juiste moment te verwerken. Download de AxeDevToolsMobile Gradle plugin.
Wanneer de test eindigt, verwerkt Auto Scan je resultaten en slaat een JSON-resultaat voor elk scherm op, evenals een zelfstandig HTML-rapport naar AxeDevToolsMobileResults, en optioneel worden resultaten geüpload naar de Developer Hub.
Aan de slag
-
Een paar waarden moeten worden ingesteld om gebruikers te configureren en te authenticeren. We raden aan deze toe te voegen als omgevingsvariabelen op je computer en op je CI/CD-pijplijnen om je sleutels veilig te houden.
Groovy (
build.gradle):axeDevTools { axeMobileApiKey = '' axeAutoScanMode = true axeProjectId = '' }Kotlin DSL (
build.gradle.kts):axeDevTools { axeMobileApiKey = "" axeAutoScanMode = true axeProjectId = "" } -
Als je onze tools gebruikt en de voorkeur geeft aan resultaten in offline modus, moet je een waarde instellen voor de
axeOfflineLicenseKeyin plaats vanaxeMobileApiKeyenaxeProjectId.Groovy (
build.gradle):axeDevTools { axeOfflineLicenseKey = '' axeAutoScanMode = true }Kotlin DSL (
build.gradle.kts):axeDevTools { axeOfflineLicenseKey = "" axeAutoScanMode = true }
Resultaten interpreteren
Console Samenvatting
Zodra de testsuite is voltooid, kun je bewerkingen zien in je Gradle logs, gevolgd door een samenvatting.
HTML rule report written to: /Users/user/Documents/workspace/android/project-name/app/build/reports/AxeDevToolsMobileResults/AxeDevToolsMobile_1773882427726.html
---- 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
---------------------------------------------------Uitvoerbestanden
Auto Scan genereert een zelfstandig HTML-rapport met screenshots, weergavehiërarchiedata en gedetailleerde probleeminformatie. Individuele JSON-resultaten worden opgeslagen in de axe-test-data map. Alle bestanden worden opgeslagen in de app/build/reports/AxeDevToolsMobileResults map.
| Bestand | Formaat |
|---|---|
AxeDevToolsReport.html |
Interactief HTML-rapport met problemen per scherm, elementdetails, impactniveaus, weergavehiërarchie |
<timestamp>-axe-node-hierarchy.json |
Individueel JSON-resultaat - 1 voor elke scan die is uitgevoerd |
Auto Scan Ondersteuning
Regels
Auto Scan voert de volledige Axe-regelset uit met uitzondering van ScreenOrientation en alle experimentele regels (bijv. NestedActiveControl, NestedElementName, InaccessibleAction). Vind gedetailleerde informatie over wat we controleren in het Regeloverzicht voor Android.
Ontwikkelaarshub
Auto Scan uploadt automatisch je resultaten naar Axe Ontwikkelaarshub. Als je de resultaten alleen lokaal wilt opslaan, stel axeUploadResults in op false.
Configuratiereferentie
Eigenschappen
| Eigenschap | Type | Vereist | Details |
|---|---|---|---|
axeAutoScanMode |
Boolean | Vereist | Standaardwaarde is false. Moet worden ingesteld op true om auto scan in te schakelen. |
axeUploadResults |
Boolean | Optioneel | Standaardwaarde is true. Stel in op false voor alleen lokale resultaten |
axeMobileApiKey |
String | Optioneel | Een Axe DevTools Mobile API-sleutel van axe.deque.com is **vereist** als axeUploadResults=true |
axeProjectId |
String | Optioneel | Een Project-ID van Ontwikkelaarshub is **vereist** als axeUploadResults=true |
axeServerUrl |
String | Optioneel | Aangepaste backend-URL, alleen voor on-premise/private cloud |
axeOfflineLicenseKey |
String | Optioneel | Alleen vereist voor offline modus, wanneer axeUploadResults=false |
Beste Praktijken
Animaties Uitschakelen
Verkrijg de meest nauwkeurige en uitgebreide resultaten van Auto Scan door animaties uit te schakelen. Dit zorgt ervoor dat schermen volledig worden weergegeven wanneer ze worden vastgelegd. Als animaties niet zijn uitgeschakeld, merk je mogelijk:
- Dubbele scans waarvan je dacht dat ze hadden moeten worden weggelaten
- Scans met screenshots die een tijdelijke toestand tonen
- Een aanzienlijk lagere schermopnamesnelheid dan je zou verwachten
Probleemoplossing
Als je de scans niet ziet verschijnen in Developer Hub, moet je je logs controleren voor aanwijzingen over wat er mis kan zijn of deze checklist doorlopen.
- Controleer dat
axeAutoScanMode=truein jeaxeDevToolsconfiguratieblok - Controleer of je in staat was om onze afhankelijkheid van Maven Central te verkrijgen
- Zorg ervoor dat je de juiste variabele gebruikt voor je API/Licentiesleutel en Project-ID
- Controleer de grootte van je uitvoerbestanden. De upload naar Developer Hub mislukt als de grootte van een resultaatbestand groter is dan 20MB, hoewel alle resultaten nog steeds lokaal worden opgeslagen en in het lokale HTML-rapport worden weergegeven.
Wat nu?
Je kunt je resultaten bekijken in Axe Developer Hub. Leer hoe je Axe DevTools Mobile in je CI/CD-pipeline integreert. Gebruik je een cloudgebaseerd testplatform? Je kunt Axe DevTools Mobile nog steeds gebruiken om te zoeken naar toegankelijkheidsproblemen: Integreren met Cloud Platforms.
