Varredura Automática

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

Identifique automaticamente problemas de acessibilidade à medida que seus testes de UI existentes interagem com seu aplicativo

Not for use with personal data

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.

tip

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

  1. 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 = ""
    }
  2. Se você estiver usando nossas ferramentas e preferir obter resultados no modo offline, deverá definir um valor para o axeOfflineLicenseKey em vez de axeMobileApiKey e axeProjectId.

    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
note

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=true no bloco de configuração da axeDevTools
  • 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.