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 um controle mais granular em seus testes, veja Testes direcionados.
Como funciona
Nosso plugin Gradle substituirá seu runner de instrumentação JUnit pelo nosso runner personalizado. Isso nos permite observar seu conjunto de testes e processar seus resultados no momento apropriado. Obtenha o plugin Gradle AxeDevToolsMobile.
Quando o teste termina, o Auto Scan processa seus resultados e salva um resultado em JSON para cada tela, bem como um relatório em HTML autônomo em AxeDevToolsMobileResults, e opcionalmente faz upload dos 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 no modo offline, deverá 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
O Auto Scan gera um relatório em HTML autônomo com capturas de tela, dados de hierarquia de visualização e informações detalhadas sobre problemas. Resultados individuais em JSON são salvos no diretório axe-test-data. Todos os arquivos são salvos no diretório app/build/reports/AxeDevToolsMobileResults.
| Arquivo | Formato |
|---|---|
AxeDevToolsReport.html |
Relatório HTML interativo com problemas por tela, detalhes dos elementos, níveis de impacto |
<timestamp>-axe-node-hierarchy.json |
Resultado JSON individual - 1 para cada varredura realizada |
Se você preferir salvar seus resultados em um diretório específico, pode indicar isso no bloco de configuração do plugin do arquivo build.gradle.
axeDevTools {
axeMobileApiKey = "AXE_API_KEY"
axeProjectId = "DEVHUB_PROJECT_ID"
axeAutoScanMode = true
axeHtmlReportPath =
"User/Desktop/reports/AxeDevToolsMobileResults"
axeAccountUrl = "https://axe.deque.com"
Suporte à Varredura Automática
Regras
O Auto Scan 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 faz upload automático de seus resultados para o Axe Developer Hub. Se você deseja apenas salvar os resultados localmente, defina axeUploadResults para false.
Referência de Configuração
Propriedades
| Propriedade | Tipo | Obrigatório | Detalhes |
|---|---|---|---|
axeAutoScanMode |
Booleano | Obrigatório | Padrão para false. Deve definir para true para habilitar o auto scan. |
axeMobileApiKey |
String | Obrigatório* | Uma chave de API do Axe DevTools Mobile de axe.deque.com é obrigatório se axeUploadResults=true |
axeOfflineLicenseKey |
String | Obrigatório* | Necessário apenas para modo offline, quando axeUploadResults=false |
axeUploadResults |
Booleano | Opcional | Padrão para true. Defina para false apenas para resultados locais |
axeProjectId |
String | Opcional | Um ID de Projeto do Developer Hub é obrigatório se axeUploadResults=true |
axeServerUrl (Obsoleto) |
String | Opcional | URL de backend personalizado (por exemplo, axe.company.com), apenas para nuvem privada/local |
axeAccountUrl |
String | Opcional | URL de backend personalizado (por exemplo, axe.company.com), apenas para nuvem privada/local |
axeHtmlReportPath |
String | Opcional | Diretório de saída configurável pelo usuário para relatório HTML e resumo. Padrão para build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
String | Opcional | Necessário apenas para modo offline, quando axeUploadResults=false |
* Nota: Você deve definir ou o axeMobileApiKey ou o axeOfflineLicenseKey na sua configuração. A chave de API é necessária a menos que esteja usando o modo offline. A chave de licença offline é necessária apenas para o modo offline.
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 bloco de configuração daaxeDevTools - 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 visualizar seus resultados no Axe Developer Hub. Aprenda como integrar o Axe DevTools Mobile em seu pipeline de CI/CD. Está usando uma plataforma de teste baseada na nuvem? Você ainda pode usar o Axe DevTools Mobile para procurar problemas de acessibilidade: Integrar com Plataformas em Nuvem.
