Varredura Automática
Identifique automaticamente problemas de acessibilidade à medida que seus testes de UI existentes interagem com seu aplicativo
Visão Geral
A Varredura Automática identifica automaticamente problemas de acessibilidade à medida que seus testes existentes do Espresso ou UIAutomator interagem com seu aplicativo, sem a necessidade de adicionar chamadas de verificação individuais ou modificar seus testes. A Varredura Automática escuta mudanças de tela e verifica cada tela única automaticamente.
Se você precisar de controle mais granular em seus testes, consulte Testes direcionados.
Como funciona
Nosso plugin Gradle substituirá o seu runner de instrumentação JUnit pelo nosso runner personalizado. Isso nos permite observar sua suíte de testes e processar seus resultados no momento apropriado. Obtenha o plugin Gradle AxeDevToolsMobile.
Quando o teste termina, a Varredura Automática processa seus resultados e salva um resultado JSON para cada tela, assim como um relatório HTML autossuficiente em AxeDevToolsMobileResults, e opcionalmente envia os resultados para o Developer Hub.
Começando
-
Alguns valores precisam ser definidos para configurar e autenticar usuários. Recomendamos adicioná-los como variáveis de ambiente no seu computador e nos seus pipelines CI/CD para manter suas chaves seguras.
Groovy (
build.gradle):axeDevTools { axeMobileApiKey = '' axeAutoScanMode = true axeProjectId = '' }Kotlin DSL (
build.gradle.kts):axeDevTools { axeMobileApiKey = "" axeAutoScanMode = true axeProjectId = "" } -
Se você estiver usando nossas ferramentas e preferir obter resultados em modo offline, você precisará definir um valor para o
axeOfflineLicenseKeyem vez deaxeMobileApiKeyeaxeProjectId.Groovy (
build.gradle):axeDevTools { axeOfflineLicenseKey = '' axeAutoScanMode = true }Kotlin DSL (
build.gradle.kts):axeDevTools { axeOfflineLicenseKey = "" axeAutoScanMode = true }
Interpretando Resultados
Resumo do Console
Assim que a suíte de testes termina, você pode ver algum pós-processamento em seus logs do Gradle, seguido de um resumo.
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
---------------------------------------------------Arquivos de Saída
A Varredura Automática gera um relatório HTML autossuficiente com capturas de tela, dados da hierarquia de visualização e informações detalhadas sobre os problemas. Resultados JSON individuais são salvos no axe-test-data diretório. Todos os arquivos são salvos no app/build/reports/AxeDevToolsMobileResults diretório.
| Arquivo | Formato |
|---|---|
AxeDevToolsReport.html |
Relatório HTML interativo com problemas por tela, detalhes dos elementos, níveis de impacto, hierarquia de visualização |
<timestamp>-axe-node-hierarchy.json |
Resultado JSON individual - 1 para cada varredura realizada |
Suporte à Varredura Automática
Regras
A Varredura Automática executa o conjunto completo de regras do Axe, com exceção de ScreenOrientation e todas as regras experimentais (por exemplo, NestedActiveControl, NestedElementName, InaccessibleAction). Encontre informações detalhadas sobre o que verificamos em Visão Geral das Regras para Android.
Central de Desenvolvedores
O Auto Scan carrega automaticamente seus resultados para o Axe Developer Hub. Se você deseja salvar os resultados apenas localmente, defina axeUploadResults para false.
Referência de Configuração
Propriedades
| Propriedade | Tipo | Obrigatório | Detalhes |
|---|---|---|---|
axeAutoScanMode |
Booleano | Obrigatório | Padrão é false. Deve ser definido como true para ativar o auto scan. |
axeUploadResults |
Booleano | Opcional | Padrão é true. Defina como false para resultados apenas locais |
axeMobileApiKey |
String | Opcional | Uma chave de API do Axe DevTools Mobile de axe.deque.com é obrigatória se axeUploadResults=true |
axeProjectId |
String | Opcional | Um ID do Projeto da Central de Desenvolvedores é obrigatório se axeUploadResults=true |
axeServerUrl |
String | Opcional | URL personalizado do backend, apenas para nuvem privada/local |
axeOfflineLicenseKey |
String | Opcional | Somente necessário para modo offline, quando axeUploadResults=false |
Melhores Práticas
Desativar Animações
Obtenha os resultados mais precisos e abrangentes do Auto Scan desativando a animação. Isso garantirá que as telas estejam totalmente renderizadas quando capturadas. Se as animações não forem desativadas, você poderá notar:
- Scans duplicados que você acredita que deveriam ter sido descartados
- Scans com capturas de tela mostrando um estado transitório
- Uma taxa de captura de tela significativamente menor do que você esperava
Solução de Problemas
Se você não estiver vendo as verificações aparecerem no Developer Hub, deve verificar seus logs em busca de pistas do que pode estar errado ou passar por esta lista de verificação.
- Verifique se
axeAutoScanMode=trueno seuaxeDevToolsbloco de configuração - Certifique-se de que conseguiu obter nossa dependência do Maven Central
- Certifique-se de que está usando a variável correta para sua Chave de API/Licença e ID do Projeto
- Verifique o tamanho dos seus arquivos de saída. O upload para o Developer Hub falha se o tamanho de qualquer um dos arquivos de resultado for maior que 20MB, embora todos os resultados ainda sejam salvos localmente e exibidos no relatório HTML local.
O que vem a seguir?
Você pode ver seus resultados no Axe Developer Hub. Aprenda a integrar o Axe DevTools Mobile em seu pipeline de CI/CD. Está usando uma plataforma de teste baseada em nuvem? Você ainda pode usar o Axe DevTools Mobile para procurar problemas de acessibilidade: Integrar com Plataformas em Nuvem.
