Referência da API Cypress para Axe DevTools para Web
Referência para as APIs no pacote @axe-devtools/cypress
Comandos Encadeáveis do Cypress (análise)
cy.axeAnalyze()
Este comando encadeável injeta axe-core na página e em todos os iframes que consegue alcançar, e então executa a análise na página. Iframes nos quais não se pode injetar, como iframes de origem cruzada e iframes com um atributo sandbox, são ignorados em vez de falharem no teste. Veja Iframes de Origem Cruzada e Sandboxed.
| Parâmetro | Tipo | Valor Padrão | Descrição |
|---|---|---|---|
| nome (opcional) | String | undefined | Define o identificador para este resultado de análise armazenado no relatório. Por padrão, usa um carimbo de data/hora se não for fornecido. |
| contexto (opcional) | axe.ElementContext | undefined | Define o escopo da análise—parte do DOM que deseja analisar. Normalmente será o documento ou um seletor específico, como nome de classe, ID, seletor, etc. |
| opções (opcional) | axe.RunOptions | undefined | Conjunto de opções passadas para regras ou verificações, modificando-as temporariamente. Isso contrasta com axe.configure, que é mais permanente. |
| log (opcional) | Boolean | false | Retorna a saída para stdout com o número de elementos que não são acessíveis e impactos de violação como uma tabela. |
cy.isAxeClean()
Este comando encadeável é uma asserção de que a página não possui violações de acessibilidade.
Parâmetros:
| Parâmetro | Tipo | Valor Padrão | Descrição |
|---|---|---|---|
| contexto (opcional) | axe.ElementContext | undefined | Define o escopo da análise—parte do DOM que deseja analisar. Normalmente será o documento ou um seletor específico, como nome de classe, ID, seletor, etc. |
| opções (opcional) | axe.RunOptions | undefined | Conjunto de opções passadas para regras ou verificações, modificando-as temporariamente. Isso contrasta com axe.configure, que é mais permanente. |
Comandos Encadeáveis do Cypress (configuração)
Integre Axe DevTools para Web com Cypress usando comandos encadeáveis personalizados do Cypress para configurar resultados analisados.
cy.setAxeSource()
Este comando encadeável define a versão do axe-core.
| Parâmetro | Tipo | Valor Padrão | Descrição |
|---|---|---|---|
| Caminho do arquivo (obrigatório) | String | null | Caminho relativo à raiz do projeto que deve incluir axe.source ou a versão minificada do axe-core. |
cy.setAxeCustom()
Este comando encadeável permite o uso de conjuntos de regras personalizados.
- O Axe DevTools para Web Cypress também lerá implicitamente
axe-ruleset.jsonquando colocado no nível raiz do projeto ou também usará arquivos de regras personalizadas quando a variável de ambienteAXE_RULESET_PATHestiver definida.
| Parâmetro | Tipo | Valor Padrão | Descrição |
|---|---|---|---|
| Caminho do arquivo (obrigatório) | String | null | Caminho relativo à raiz do projeto que deve incluir verificações e regras |
cy.setAxeRuleset()
Este comando encadeável permite que os usuários executem regras por tags, similar à configuração de axe.run().
| Parâmetro | Tipo | Valor Padrão | Descrição |
|---|---|---|---|
| conjunto de regras (obrigatório) | '508', 'en301549', 'rgaav4', 'ttv5', 'wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa' | 'wcag2.1' | Array de tags às quais esta regra está atribuída. |
cy.setAxeReportName()
Este comando encadeável permite aos usuários definir o nome do arquivo de relatório.
| Parâmetro | Tipo | Valor Padrão | Descrição |
|---|---|---|---|
| nomeRelatório (obrigatório) | String | @axe-devtools-cypress |
Nome do arquivo de relatório. |
cy.getAxeResults()
Este comando encadeável permite que os usuários utilizem os resultados após a execução de cy.axeAnalyze().
As respostas de getAxeResults() retornam o formato de dados axe.AxeResults.
Exemplo:
after(() => {
cy.axeAnalyze();
cy.getAxeResults().then(data => {
cy.writeFile('./results.json', data)
})
})cy.getUniversalResults()
Este comando encadeável retorna os resultados da chamada mais recente de cy.axeAnalyze() no Formato Universal Axe. Retorna null se nenhuma análise tiver sido realizada ainda.
Exemplo:
after(() => {
cy.axeAnalyze();
cy.getUniversalResults().then(data => {
cy.writeFile('./results-universal.json', data)
})
})Serviço de Uso
O serviço de uso permite que você obtenha insights sobre as tendências de uso do Axe DevTools para Web dentro da sua organização.
Variáveis de Ambiente
Essas variáveis de ambiente permitem configurar o serviço de uso e alterar as propriedades dos eventos relatados.
| 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 |
cy.task('enableTracking', <boolean>)
Essa tarefa do Cypress permite que os usuários escolham participar ou não do envio de dados para o serviço de uso. O envio está ativado por padrão.
cy.task('setTrackingUrl', <string>)
Esta tarefa do Cypress permite que os usuários alterem o local para onde os dados das métricas de uso são enviados.
cy.task('setDistinctId', <string>)
Esta tarefa do Cypress permite que os usuários alterem o ID distinto que está sendo armazenado ou usado.
Próximos Passos
Se você tiver algum problema para instalar o Axe DevTools for Web, entre em contato diretamente com seu representante da Deque, pergunte-nos via nosso balcão de apoio, ou envie-nos um e-mail. Ficaremos felizes em ajudá-lo a começar.
