Scansione Automatica
Identifica automaticamente i problemi di accessibilità mentre i tuoi test UI esistenti interagiscono con la tua app
Panoramica
Scansione Automatica identifica automaticamente i problemi di accessibilità mentre i tuoi test Espresso o UIAutomator esistenti interagiscono con la tua app, senza la necessità di aggiungere singole chiamate di scansione o modifiche ai tuoi test. Scansione Automatica rileva i cambiamenti di schermo e analizza automaticamente ogni schermata unica.
Se hai bisogno di un controllo più dettagliato nei tuoi test, vedi Test Mirati.
Come funziona
Il nostro plugin Gradle sostituirà il runner di strumentazione JUnit con il nostro runner personalizzato. Questo ci permette di osservare il tuo suite di test e di elaborare i tuoi risultati al momento opportuno. Ottieni il plugin Gradle AxeDevToolsMobile.
Quando il test termina, Scansione Automatica elabora i tuoi risultati e salva un risultato JSON per ciascuna schermata oltre a un report HTML autonomo da AxeDevToolsMobileResults, e opzionalmente carica i risultati su Developer Hub.
Introduzione
-
Alcuni valori devono essere impostati per configurare e autenticare gli utenti. Consigliamo di aggiungerli come variabili d'ambiente sul tuo computer e nelle tue pipeline CI/CD per mantenere le tue chiavi al sicuro.
Groovy (
build.gradle):axeDevTools { axeMobileApiKey = '' axeAutoScanMode = true axeProjectId = '' }Kotlin DSL (
build.gradle.kts):axeDevTools { axeMobileApiKey = "" axeAutoScanMode = true axeProjectId = "" } -
Se stai usando i nostri strumenti e preferisci ottenere i risultati in modalità offline, devi impostare un valore per il
axeOfflineLicenseKeyal posto diaxeMobileApiKeyeaxeProjectId.Groovy (
build.gradle):axeDevTools { axeOfflineLicenseKey = '' axeAutoScanMode = true }Kotlin DSL (
build.gradle.kts):axeDevTools { axeOfflineLicenseKey = "" axeAutoScanMode = true }
Interpretazione dei Risultati
Sommario Console
Una volta che la suite di test termina, puoi vedere alcuni post-elaborazione nei tuoi log Gradle, seguite da un sommario.
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
---------------------------------------------------File di Output
Scansione Automatica genera un report HTML autonomo con schermate, dati della gerarchia delle viste e informazioni dettagliate sui problemi. I risultati JSON individuali sono salvati nella axe-test-data directory. Tutti i file sono salvati nella app/build/reports/AxeDevToolsMobileResults directory.
| File | Formato |
|---|---|
AxeDevToolsReport.html |
Rapporto HTML interattivo con problemi per schermata, dettagli degli elementi, livelli di impatto |
<timestamp>-axe-node-hierarchy.json |
Risultato JSON individuale - 1 per ogni scansione effettuata |
Se preferisci salvare i tuoi risultati in una directory specifica, puoi indicarlo nel blocco di configurazione del plugin del tuo build.gradle file.
axeDevTools {
axeMobileApiKey = "AXE_API_KEY"
axeProjectId = "DEVHUB_PROJECT_ID"
axeAutoScanMode = true
axeHtmlReportPath =
"User/Desktop/reports/AxeDevToolsMobileResults"
axeAccountUrl = "https://axe.deque.com"
Supporto Scansione Automatica
Regole
Scansione Automatica esegue l'intero set di regole Axe ad eccezione di ScreenOrientation e tutte le regole sperimentali (es. NestedActiveControl, NestedElementName, InaccessibleAction). Trova informazioni dettagliate su cosa controlliamo nel Panoramica delle regole per Android.
Hub dello sviluppatore
Auto Scan carica automaticamente i tuoi risultati su Axe Developer Hub. Se vuoi solo salvare i risultati localmente, imposta axeUploadResults su false.
Riferimento di configurazione
Proprietà
| Proprietà | Tipo | Obbligatorio | Dettagli |
|---|---|---|---|
axeAutoScanMode |
Booleano | Obbligatorio | Valore predefinito: false. Deve essere impostato su true per abilitare la scansione automatica. |
axeMobileApiKey |
Stringa | Richiesto* | Una chiave API di Axe DevTools Mobile da axe.deque.com è obbligatorio se axeUploadResults=true |
axeOfflineLicenseKey |
Stringa | Richiesto* | Richiesto solo per modalità offline, quando axeUploadResults=false |
axeUploadResults |
Booleano | Opzionale | Valore predefinito: true. Imposta su false per risultati locali solamente |
axeProjectId |
Stringa | Opzionale | Un ID progetto da Developer Hub è obbligatorio se axeUploadResults=true |
axeServerUrl (Deprecato) |
Stringa | Opzionale | URL backend personalizzato (es. axe.company.com), per cloud on-prem/private solo |
axeAccountUrl |
Stringa | Opzionale | URL backend personalizzato (es. axe.company.com), per cloud on-prem/private solo |
axeHtmlReportPath |
Stringa | Opzionale | Directory di output configurabile dall'utente per il report HTML e il sommario. Impostazione predefinita: build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
Stringa | Opzionale | Richiesto solo per modalità offline, quando axeUploadResults=false |
* Nota: Devi impostare o il axeMobileApiKey o il axeOfflineLicenseKey nella tua configurazione. La chiave API è richiesta a meno che non si utilizzi la modalità offline. La chiave di licenza offline è richiesta solo per la modalità offline.
Buone Pratiche
Disabilita le Animazioni
Ottieni risultati più accurati e completi da Auto Scan disabilitando le animazioni. Questo garantirà che gli schermi siano completamente renderizzati quando catturati. Se le animazioni non sono disabilitate, potresti notare:
- Scansioni duplicate che ritieni dovessero essere ignorate
- Scansioni con schermate che mostrano uno stato di transizione
- Una frequenza di cattura dello schermo significativamente inferiore a quella che potresti aspettarti
Risoluzione dei Problemi
Se non visualizzi scansioni nel Developer Hub, dovresti controllare i tuoi log per suggerimenti su cosa potrebbe non funzionare o passare attraverso questa checklist.
- Verifica che
axeAutoScanMode=truenel tuoaxeDevToolsblocco di configurazione - Verifica di aver potuto ottenere la nostra dipendenza da Maven Central
- Assicurati di usare la variabile corretta per il tuo API/License Key e Project ID
- Controlla la dimensione dei tuoi file di output. Il caricamento nel Developer Hub fallisce se la dimensione di un qualsiasi file di risultato è superiore a 20MB, tuttavia tutti i risultati sono comunque salvati localmente e mostrati nel report HTML locale.
Cosa fare dopo?
Puoi visualizzare i tuoi risultati in Axe Developer Hub. Scopri come integrare Axe DevTools Mobile nella tua pipeline CI/CD. Stai usando una piattaforma di test basata su cloud? Puoi comunque usare Axe DevTools Mobile per cercare problemi di accessibilità: Integrare con le Piattaforme Cloud.
