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 Gerichte Testen.
Hoe het werkt
Onze Gradle-plugin vervangt je JUnit-instrumentatierunner door onze aangepaste runner. Hiermee kunnen we je testsuite observeren en je resultaten op het juiste moment verwerken. Download de AxeDevToolsMobile Gradle plugin.
Wanneer de test is voltooid, verwerkt Auto Scan je resultaten en slaat een JSON-resultaat voor elk scherm op, evenals een zelfstandige HTML-rapportage naar AxeDevToolsMobileResults, en uploadt optioneel de resultaten naar 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, stel je een waarde in 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 zelfstandige HTML-rapportage met schermafbeeldingen, gegevens over de weergavehiërarchie 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 |
<timestamp>-axe-node-hierarchy.json |
Individueel JSON-resultaat - 1 voor elke scan die is uitgevoerd |
Als je de voorkeur geeft aan het opslaan van je resultaten in een specifieke map, kun je dit aangeven in het configuratieblok van je build.gradle-bestand.
axeDevTools {
axeMobileApiKey = "AXE_API_KEY"
axeProjectId = "DEVHUB_PROJECT_ID"
axeAutoScanMode = true
axeHtmlReportPath =
"User/Desktop/reports/AxeDevToolsMobileResults"
axeAccountUrl = "https://axe.deque.com"
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 de Regeloverzicht voor Android.
Ontwikkelaarshub
Auto Scan uploadt je resultaten automatisch naar Axe Developer Hub. Als je de resultaten alleen lokaal wilt opslaan, stel dan axeUploadResults in op false.
Configuratiereferentie
Eigenschappen
| Eigenschap | Type | Vereist | Details |
|---|---|---|---|
axeAutoScanMode |
Boolean | Vereist | Standaard ingesteld op false. Moet worden ingesteld op true om auto scan in te schakelen. |
axeMobileApiKey |
String | Verplicht* | Een Axe DevTools Mobile API-sleutel van axe.deque.com is **vereist** als axeUploadResults=true |
axeOfflineLicenseKey |
String | Verplicht* | Alleen vereist voor offline modus, wanneer axeUploadResults=false |
axeUploadResults |
Boolean | Optioneel | Standaard ingesteld op true. Stel in op false voor alleen lokale resultaten |
axeProjectId |
String | Optioneel | Een Project ID van Developer Hub is **vereist** als axeUploadResults=true |
axeServerUrl (Afgekeurd) |
String | Optioneel | Aangepaste backend-URL (bijv. axe.company.com), alleen voor on-prem/private cloud |
axeAccountUrl |
String | Optioneel | Aangepaste backend-URL (bijv. axe.company.com), alleen voor on-prem/private cloud |
axeHtmlReportPath |
String | Optioneel | Gebruiker configureerbare uitvoermap voor HTML-rapport en samenvatting. Standaard ingesteld op build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
String | Optioneel | Alleen vereist voor offline modus, wanneer axeUploadResults=false |
* Opmerking: Je moet ofwel de axeMobileApiKey of de axeOfflineLicenseKey in je configuratie instellen. De API-sleutel is vereist tenzij je de offline modus gebruikt. De offline licentiesleutel is alleen vereist voor de offline modus.
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 cloud-gebaseerd testplatform? Je kunt Axe DevTools Mobile nog steeds gebruiken om toegankelijkheidsproblemen te zoeken: Integreren met Cloud Platforms.
