Scansione Automatica

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Identifica automaticamente i problemi di accessibilità mentre i tuoi test UI esistenti interagiscono con la tua app

Not for use with personal data

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.

tip

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

  1. 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 = ""
    }
  2. Se stai utilizzando i nostri strumenti e preferisci ottenere i risultati in modalità offline, imposterai un valore per axeOfflineLicenseKey al posto di axeMobileApiKey e axeProjectId.

    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
note

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=true nel tuo blocco di configurazione axeDevTools
  • 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.