Varredura Automática com o Driver XCUITest

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
Not for use with personal data

Visão Geral

A Varredura Automática captura automaticamente instantâneos de acessibilidade conforme você navega pelo seu aplicativo iOS. Em vez de acionar manualmente varreduras em cada tela, você inicia uma sessão de varredura automática, interage com o aplicativo e para a sessão para gerar um relatório.

tip

Se você precisar de mais controle nos seus testes, veja Testes Direcionados com Appium.

Como funciona

  1. Iniciar uma sessão de varredura automática (com suas credenciais)
  2. Navegar pelo seu aplicativo — as telas são escaneadas automaticamente
  3. Parar a sessão — um relatório HTML é gerado em ~/AxeDevToolsMobileResults/

Primeiros Passos

Inicie o servidor Appium normalmente:

appium

Configure Seus Testes

A partir dos seus scripts de automação Appium, adicione as capacidades necessárias para o Axe DevTools Mobile.

Nome Tipo Descrição
automationName String Defina como 'AxeXCUITest' para utilizar o driver com o Axe DevTools Mobile incorporado para realizar varreduras de acessibilidade.
bundleId String O identificador do pacote do aplicativo em teste. Note que bundleId é uma parte do driver XCUITest; você pode já ter isso configurado.

Iniciar Varredura Automática

Antes de iniciar sua suíte de testes, inicie a Varredura Automática chamando a axeStartAutoScanSession API:

beforeAll(async () => { // Start auto scan 
await driver.executeScript('mobile: axeStartAutoScanSession', 
    [{ axeMobileApiKey: 'your-api-key',
    axeProjectId: 'your-devhub-project-id' 
    ... 
    }]); 
})

Parar Varredura Automática

Pouco antes de a suíte de testes terminar, chame a axeStopAutoScanSession API para parar a Varredura Automática e agregar e enviar os resultados.

await driver.executeScript('mobile: axeStopAutoScanSession', []);
note

Os trechos de código acima estão usando JavaScript. Veja Exemplos de Código de Varredura Automática com XCUITest para exemplos mais completos em múltiplas linguagens de programação.

Interpretando Resultados

Resumo do console

Um resumo do console semelhante ao seguinte é impresso quando a suíte de testes termina:

----  Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: HomeScreen
  Issues: 3
  Issues by rule:
    - ColorContrast: 2
    - TouchTargetSize: 1

Scan 2:
  Screen: SettingsScreen
  Issues: 0

Total Scans: 2
❌ Total Issues: 3
----------------------------------------------------

Uma execução limpa mostrará Axe Clean - 0 Issues Found 🎉 no console.

Arquivos de saída

Quando a sessão de Varredura Automática é parada, um relatório HTML é gerado em ~/AxeDevToolsMobileResults/. O relatório contém violações de acessibilidade, aprovações e recomendações para cada tela capturada durante a sessão.

Suporte à Varredura Automática

Regras

A Varredura Automática executa o conjunto completo de regras Axe com a exceção de ScreenOrientation, SupportsDynamicType, e todas as regras experimentais. Encontre informações detalhadas sobre o que verificamos no Visão Geral das Regras para iOS.

Hub do Desenvolvedor

O Auto Scan carrega automaticamente seus resultados para o Axe Developer Hub. Se você deseja salvar os resultados apenas localmente, defina axeUploadResults para false.

Modo Offline

Se você não possui credenciais de nuvem, use uma chave de licença offline em vez disso:

// JavaScript example
await driver.execute('mobile: axeStartAutoScanSession', {
  axeOfflineLicenseKey: 'YOUR_OFFLINE_LICENSE_KEY'
});

// ... navigate through the app ...

await driver.execute('mobile: axeStopAutoScanSession', {});

Referência de Configuração

Propriedades

Parâmetro Tipo Obrigatório Descrição
axeUploadResults Booleano Opcional Carregar resultados para o dashboard (padrão: true)
axeMobileApiKey Texto Obrigatório* Chave API para escaneamento em nuvem
axeProjectId Texto Opcional ID do projeto para organizar os resultados
axeOfflineLicenseKey Texto Obrigatório* Chave de licença para modo offline (alternativa às credenciais de nuvem)
axeServerUrl Texto Opcional URL do servidor Axe DevTools Mobile

Forneça **ou** credenciais de nuvem (axeMobileApiKey + axeProjectId+ opcional axeServerUrl) **ou** uma axeOfflineLicenseKey.

Melhores Práticas

Desativar Animações

Obtenha os resultados mais precisos e abrangentes do Auto Scan desativando as animações. Isso garantirá que as telas estejam totalmente renderizadas quando capturadas. Adicione o seguinte em capabilities:

  capabilities: {
    // ...existing capabilities
    'appium:reduceMotion': true, // enables iOS "Reduce Motion" accessibility setting
  }

Solução de Problemas

  • Vendo resultados localmente, mas não no Developer Hub? O upload para o Developer Hub falha se o tamanho de qualquer arquivo de resultado for superior a 20 MB, embora todos os resultados ainda sejam salvos localmente e mostrados no relatório HTML local.
  • Verifique os logs. Procure por AutoScan mensagens no console.

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. Usando uma plataforma de teste baseada em nuvem? Você ainda pode usar o Axe DevTools Mobile para procurar problemas de acessibilidade: Integrar com Plataformas de Nuvem.