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, consulta Test Mirati.
Come funziona
Il nostro plugin Gradle sostituirà il runner di strumentazione JUnit con il nostro runner personalizzato. Questo ci permette di osservare la tua suite di test e di elaborare i risultati al momento appropriato. Ottieni il plugin Gradle AxeDevToolsMobile.
Quando il test termina, Auto Scan elabora i tuoi risultati e salva un risultato JSON per ogni schermata, nonché un report HTML autonomo in AxeDevToolsMobileResults, e carica facoltativamente 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 utilizzando i nostri strumenti e preferisci ottenere i risultati in modalità offline, imposterai un valore per
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
Auto Scan genera un report HTML autonomo con screenshot, dati della gerarchia delle viste e informazioni dettagliate sui problemi. I risultati JSON individuali sono salvati nella directory axe-test-data. Tutti i file sono salvati nella directory app/build/reports/AxeDevToolsMobileResults.
| 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 file build.gradle.
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
Auto Scan esegue l'intero insieme di regole Axe con l'eccezione di ScreenOrientation e tutte le regole sperimentali (ad es., NestedActiveControl, NestedElementName, InaccessibleAction). Trova informazioni dettagliate su ciò che 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 | Impostato di default su false. Deve essere impostato su true per abilitare l'auto scan. |
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 | Impostato di default su true. Imposta su false solo per risultati locali |
axeProjectId |
Stringa | Opzionale | Un ID Progetto da Developer Hub è obbligatorio se axeUploadResults=true |
axeServerUrl (Deprecato) |
Stringa | Opzionale | URL backend personalizzato (ad es., axe.company.com), solo per cloud on-prem/private |
axeAccountUrl |
Stringa | Opzionale | URL backend personalizzato (ad es., axe.company.com), solo per cloud on-prem/private |
axeHtmlReportPath |
Stringa | Opzionale | Directory di output configurabile dall'utente per report HTML e riepilogo. Impostato di default su build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
Stringa | Opzionale | Richiesto solo per modalità offline, quando axeUploadResults=false |
* Nota: Devi impostare o axeMobileApiKey o 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 tuo blocco di configurazioneaxeDevTools - 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 utilizzando una piattaforma di test basata su cloud? Puoi comunque utilizzare Axe DevTools Mobile per cercare problemi di accessibilità: Integrare con le Piattaforme Cloud.
