Configurando o Axe DevTools para Web CLI
Configure o navegador, tempo limite, tamanho da janela e outros padrões persistentes para o Axe DevTools para Web CLI.
As flags descritas neste artigo estão disponíveis para axe <url>, axe spec e axe bulk-spec. Quando você define uma dessas flags, o valor é salvo no arquivo de preferências e se torna o padrão para todas as execuções subsequentes. Para visualizar ou alterar preferências de forma interativa, incluindo redefinir valores que não têm uma flag correspondente, use axe config-selenium.
Opções do Navegador
--accept-untrusted
Instrui o navegador a aceitar certificados SSL não confiáveis. Use isso ao testar páginas em servidores de desenvolvimento local ou ambientes internos que usam certificados autoassinados. Passar esta flag salva acceptUntrustedCertificates: true no arquivo de preferências. Para redefini-lo para false, execute axe config-selenium e responda Não quando solicitado, ou edite diretamente o arquivo de preferências.
axe <url> --accept-untrusted--browser <name>
Especifica qual navegador usar. O WebDriver correspondente deve estar instalado e disponível em seu $PATH. Os valores válidos são: firefox (padrão), chrome, safari, edge, ie.
axe <url> --browser chromeSe você receber um erro de inicialização do navegador na sua primeira execução, o GeckoDriver (WebDriver do Firefox) pode não estar instalado. Tente --browser chrome em vez disso, que normalmente funciona sem configuração adicional na maioria dos sistemas.
Passar esta flag salva o nome do navegador no arquivo de preferências. Todas as execuções subsequentes, incluindo execuções sem --browser, usarão o navegador salvo. Para mudar o navegador salvo, execute axe config-selenium e escolha um navegador diferente na solicitação, ou edite diretamente o arquivo de preferências.
--headless
Lança o navegador em modo headless (sem janela visível). O padrão é false.
axe <url> --headless--remote-server <url>
Conecta-se a um servidor WebDriver remoto em vez de iniciar um navegador local. O servidor deve expor um endpoint compatível com W3C WebDriver, como um Selenium Grid, BrowserStack ou um remoto do Sauce Labs.
axe <url> --remote-server https://hub.browserstack.com/wd/hub--window-size <width,height>
Define o tamanho da janela do navegador em pixels. Isso também controla o tamanho da viewport no modo headless, tornando-o útil para testar layouts responsivos.
axe <url> --window-size 1280,900Opções de Tempo
--page-timeout <ms>
Tempo máximo em milissegundos (ms) para esperar o carregamento de uma página antes de falhar. O padrão é 60.000 ms (60 segundos). Aumente isso para páginas de carregamento lento ou ambientes de rede com alta latência.
axe <url> --page-timeout 120000--post-analyze-pause <ms>
Tempo em milissegundos para pausar após completar uma análise antes de passar para a próxima ação em um fluxo de trabalho. O padrão é 2.000 ms (2 segundos).
axe spec workflow.yml --post-analyze-pause 5000--post-get-pause <ms>
Tempo em milissegundos para pausar após o carregamento de uma página e antes de iniciar a varredura. O padrão é 2.000 ms (2 segundos). Aumente isso se o conteúdo dinâmico precisar de mais tempo para renderizar antes que a varredura comece.
axe <url> --post-get-pause 5000--post-script-pause <ms>
Tempo em milissegundos para pausar após executar uma ação de script de fluxo de trabalho e antes de continuar para a próxima ação. O padrão é 2.000 ms (2 segundos).
axe spec workflow.yml --post-script-pause 5000--script-timeout <ms>
Tempo máximo em milissegundos para esperar a execução de um script de fluxo de trabalho. O padrão é 60.000 ms (60 segundos).
axe spec workflow.yml --script-timeout 120000Rastreamento de Uso
O Axe DevTools CLI inclui o @deque/metrics-library, que envia dados de uso anônimos para a Deque. Esses dados incluem informações agregadas, como contagens de violações, contagens de regras e versão do motor axe-core. Não inclui URLs, conteúdo de página ou qualquer informação pessoal identificável.
Um ID distinto é um valor armazenado no arquivo de preferências usado para correlacionar eventos em várias execuções de CLI sem identificar o usuário. Você pode alterar ou desativar o rastreamento com as opções abaixo. Para definir esses valores sem usar o CLI, use o variáveis de ambiente do serviço de uso.
--enable-tracking <state>
Permite ou não o envio de dados de uso para a biblioteca de métricas. O rastreamento está ativado por padrão; passe false para desativá-lo. A variável de ambiente correspondente é AXE_TRACK_USAGE — veja Variáveis de Ambiente do Serviço de Uso.
axe <url> --enable-tracking false--set-distinct-id <id>
Altera o ID distinto usado para correlacionar eventos de uso. O ID é armazenado no arquivo de preferências e utilizado em todas as execuções. A variável de ambiente correspondente é AXE_DISTINCT_ID — veja Variáveis de Ambiente do Serviço de Uso.
axe <url> --set-distinct-id my-team-id--set-tracking-url <url>
Altera o endpoint para onde as métricas de uso são enviadas. Use isso se a sua organização encaminha a telemetria por meio de um proxy interno. A variável de ambiente correspondente é AXE_METRICS_URL — veja Variáveis de Ambiente do Serviço de Uso.
axe <url> --set-tracking-url https://metrics.example.com/collectVariáveis de Ambiente do Serviço de Uso
Além das flags de CLI, você pode configurar o serviço de uso e definir propriedades em eventos relatados usando variáveis de ambiente. A coluna Pode Sobrescrever indica se o valor da variável de ambiente pode sobrescrever um valor já definido programaticamente via biblioteca de métricas. Um traço (—) indica que o conceito não se aplica a essa variável.
| Nome | Tipo | Pode Sobrescrever | Descrição |
|---|---|---|---|
AXE_DISTINCT_ID |
String | — | Um identificador UUID que permanece o mesmo para o usuário logado (a menos que seja regenerado). Em Ruby, essa variável é chamada de DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Boolean | — | Defina como true para incluir os resultados completos do axe-core no objeto testResults de cada evento (o padrão é false). Suportado apenas pelo CLI e pelas APIs do Node.js. |
AXE_METRICS_URL |
String | — | A URL do endpoint de uso REST (o padrão é https://usage.deque.com) |
AXE_TRACK_USAGE |
Boolean | — | Defina como false para desativar o relatório do serviço de uso. O relatório está ativado por padrão. |
AXE_APPLICATION |
String | false | O aplicativo que foi utilizado para verificar erros de acessibilidade |
AXE_DEV_INSTANCE |
Boolean | true | Indica se este evento é resultante das ações de um desenvolvedor de software. Útil para marcar e posteriormente remover eventos registrados durante o desenvolvimento ou teste. |
AXE_DEPARTMENT |
String | true | O departamento do usuário dentro da organização |
AXE_KEYCLOAK_ID |
String | false | O ID Keycloak do usuário |
AXE_LOGGED_IN |
Boolean | false | Registra se o usuário está logado na aplicação em teste |
AXE_ORGANIZATION |
String | true | A organização do usuário. Para que seu uso apareça nos Relatórios Axe, defina isso para o ID da sua organização (entre em contato com a Deque para obtê-lo). |
AXE_SESSION_ID |
String | false | Um UUID identificando a sessão do usuário |
AXE_USER_ID |
String | false | A identidade de um usuário específico, como um endereço de e-mail, nome ou ID de login. Os Relatórios Axe contam usuários únicos a partir deste valor. |
AXE_USER_JOB_ROLE |
String | false | O cargo do usuário |
AXE_USER_STATUS |
String | false | Informações de status que você deseja associar ao usuário |
Proxy de Rede
As próprias solicitações de saída do CLI respeitam as variáveis de ambiente padrão do proxy. Essas solicitações são uploads para Axe Reports, uploads para Axe Developer Hub e telemetria de uso.
export HTTPS_PROXY=http://proxy.corp.example.com:3128
export HTTP_PROXY=http://proxy.corp.example.com:3128
export NO_PROXY=internal.example.com,.internal.example.netSe você definir apenas HTTP_PROXY, o CLI também o usará para solicitações https:, de modo que um único proxy precisa apenas dessa variável.
Essas variáveis governam apenas as próprias solicitações do CLI. Elas não fazem proxy dos carregamentos de página do navegador enquanto uma varredura está em execução. Para encaminhar o tráfego do navegador através de um proxy, use --remote-proxy em vez disso.
Excluindo Hosts do Proxy
NO_PROXY aceita uma lista separada por vírgulas ou espaços de nomes de host, cada um com um :port opcional. Um nome pode ser exato (internal.example.com) ou um sufixo escrito como .example.net ou *.example.net, que exclui esse domínio e tudo abaixo dele. Definir NO_PROXY para * desativa completamente o proxy.
Entradas que ficam fora desta gramática são ignoradas silenciosamente em vez de relatadas como erros, então dois limites valem a pena conhecer:
- Intervalos CIDR não são suportados.
NO_PROXY=10.0.0.0/8nunca corresponde a nada, e o tráfego para esses endereços ainda é enviado ao proxy. - Endereços de loopback não são isentos por padrão. Para acessar um coletor auto-hospedado ou host de relatórios na máquina local, nomeie-o explicitamente, como em
NO_PROXY=localhost,127.0.0.1.
Proxies Que Interceptam TLS
Se o seu proxy encerrar o TLS com uma autoridade de certificação privada, aponte o Node.js para esse conjunto de certificação de autoridade:
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/corp-ca.pemSem isso, o CLI para com um erro de verificação de certificado.
Não defina NODE_TLS_REJECT_UNAUTHORIZED para 0 para contornar um erro de verificação de certificado. Isso desativa a verificação de certificados para todo o processo.
axe config-selenium
Use axe config-selenium para configurar padrões interativamente. Você será solicitado a inserir valores para navegador, tempo limite e outras configurações. Suas respostas são salvas no arquivo de preferências e se tornam os padrões para todas as execuções subsequentes do CLI.
$ axe config-selenium
? Choose browser for running automated tests: (Use arrow keys)
? Choose browser for running automated tests: chrome
? Enter a value for pageLoadTimeout: 60000
? Enter a value for setScriptTimeout: 60000
? Accept untrusted ssl certs: Yes
? Enter a value for postGetPause: 2000
? Enter a value for postScriptPause: 2000
? Enter a value for postAnalysisPause: 2000
? Launch browser in headless mode: No
Results saved to ~/.config/preferences/com.deque.axe.devtools.cli.prefPara visualizar as configurações salvas atuais sem entrar no prompt interativo, use a flag --show:
axe config-selenium --showArquivo de Preferências
Todos os valores padrão configuráveis são armazenados em um arquivo JSON em:
~/.config/preferences/com.deque.axe.devtools.cli.prefUm arquivo típico se parece com este:
{
"selenium": {
"acceptUntrustedCertificates": false,
"browser": "firefox",
"headless": false,
"pageLoadTimeout": 60000,
"postAnalysisPause": 2000,
"postGetPause": 2000,
"postScriptPause": 2000,
"setScriptTimeout": 60000
}
}Você pode editar este arquivo diretamente como uma alternativa ao uso de axe config-selenium ou ao passar flags na linha de comando. Isso é útil para redefinir valores booleanos como acceptUntrustedCertificates sem executar o prompt interativo.
