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 em todas as páginas e iframes e então executa axe na página.
| 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. Isto 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. Isto 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 versão minificada do axe-core. |
cy.setAxeCustom()
Este comando encadeável permite o uso de conjuntos de regras personalizados.
- Axe DevTools para Web Cypress também irá ler implicitamente
axe-ruleset.jsonquando colocado no nível raiz do projeto ou também usará arquivos de conjuntos de regras personalizados quando aAXE_RULESET_PATHvariável de ambiente for configurada.
| 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 a configurar 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 cy.axeAnalyze().
Respostas de getAxeResults() retornam o formato de dados de 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 última chamada de cy.axeAnalyze() no formato 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) |
AXE_METRICS_URL |
String | — | A URL do endpoint de uso REST |
AXE_TRACK_USAGE |
Boolean | — | Ativa o relatório do serviço de uso (o padrão é false) |
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 |
AXE_SESSION_ID |
String | false | Um UUID identificando a sessão do usuário |
AXE_USER_ID |
String | false | A identidade específica de usuário, como nome ou ID de login |
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>)
Esta tarefa do Cypress permite que os usuários optem por enviar dados ao serviço de uso.
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 ao instalar o Axe DevTools para Web, entre em contato diretamente com seu representante da Deque, pergunte-nos através do nosso balcão de apoio, ou envie-nos um e-mail. Ficaremos felizes em ajudá-lo a começar a usar.
