Referência da API do WebdriverIO para Axe DevTools para Web
Referência para as APIs no pacote @axe-devtools/webdriverio
Construtor
Na configuração padrão, o único argumento necessário a ser passado para o construtor do WebdriverIO é a instância do WebdriverIO. Se você quiser usar uma versão diferente do axe-core do que a incluída originalmente ou um conjunto de regras personalizado, você pode passar essas opções no construtor.
Você não pode selecionar uma versão não padrão do axe-core e um conjunto de regras personalizado.
AxeDevToolsWebdriverIO(options: Options)A Options interface é um objeto que contém as seguintes propriedades:
client(obrigatório): um cliente WebdriverIOaxeSource(opcional): um string do código-fonte do axe-corerulesetID(opcional): um ID de conjunto de regras ('wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa', '508', 'en301549', 'rgaav4', 'ttv5')
Você não pode fornecer ambos os axeSource e rulesetID. Os dois são mutuamente exclusivos.
Definindo a versão do axe-core
Por padrão, @axe-devtools/webdriverio usará a última versão disponível do axe-core. Para configurar uma versão diferente do axe-core, passe a opção axeSource . Todas as versões do axe-core podem ser obtidas do npm ou através do unpkg visitando http://unpkg.com/axe-core@<version>/axe.js (substitua <version> pelo número da versão). Todas as versões do axe-core após 2.1.0 são suportadas.
Este é um exemplo de inicialização do Axe DevTools WebdriverIO com o axe-core 2.3.0 a partir de um arquivo localizado no diretório pai do arquivo de teste.
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });Método analyze
Este método executa a análise e, em última instância, retorna os resultados do escaneamento de acessibilidade.
analyze(client: webdriverio.Client): Promise<axe.AxeResults>Execute uma análise usando a configuração padrão no cliente fornecido. Um Promise é retornado, que resolve com o conjunto de resultados retornado por axe-core.
Regras Personalizadas
Para informações sobre como usar regras personalizadas com Axe DevTools, leia o guia sobre geração e integração de conjuntos de regras personalizadas no guia CLI.
Método analyzeUniversal
Realiza uma análise e retorna resultados no Formato Universal Axe. O método analyze() existente permanece inalterado.
analyzeUniversal(): Promise<UniversalExport>Opções de Cadeia
Existem várias opções para definir o escopo de suas varreduras Axe DevTools. Você pode incluir ou excluir escopos CSS específicos e/ou ignorar iframes. Os métodos de cadeia (abaixo) no construtor tornam isso possível.
disableFrame
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIODesabilite a injeção do axe-core em frames que correspondem ao seletor CSS fornecido. Este método pode ser chamado qualquer número de vezes.
include
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIOSeletor para incluir na análise. Este pode ser chamado qualquer número de vezes.
exclude
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIOSeletor para excluir na análise. Este pode ser chamado qualquer número de vezes.
Configuração de Regras
Essas opções modificam a configuração de regras para o conjunto de regras escolhido. Estas opções sobrescrevem a configuração padrão de regras e modificarão seus resultados. Chamadas adicionais com esses métodos sobrescreverão chamadas anteriores.
withRules
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIOLimite a análise apenas às regras especificadas. Não pode ser usado com AxeDevToolsWebdriverIO.withTags().
withTags
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIOLimite a análise apenas às tags especificadas. Não pode ser usado com AxeDevToolsWebdriverIO.withRules().
disableRules
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIODefina a lista de regras a serem ignoradas ao executar uma análise.
Opções do axe-core
Essas opções acessam a configuração subjacente do axe-core. Para mais informações sobre essas opções, veja a documentação do axe-core.
configurar
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIODefina a configuração para axe-core. Este valor é passado diretamente para axe.configure().
opções
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIO As runOptions a serem passadas diretamente para axe.run(). Veja a documentação do axe-core para uso. Sobrescreverá quaisquer outras opções configuradas, incluindo chamadas para AxeDevToolsWebdriverIO.withRules() e AxeDevToolsWebdriverIO.withTags().
Serviço de Uso
O serviço de uso permite que você obtenha insights sobre as tendências de uso do Axe DevTools dentro de sua organização.
Por padrão, o serviço de uso está desativado, e a URL padrão é https://usage.deque.com.
Variáveis de ambiente
Essas variáveis de ambiente permitem que você configure o serviço de uso e altere 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 |
habilitarRastreamento
Este método permite que os usuários optem por enviar dados ao serviço de uso
.enableTracking(state: boolean): AxeDevToolsWebdriverIOdefinirUrlDeRastreamento
Este método permite que os usuários alterem para onde os dados de métricas de uso estão sendo enviados
.setTrackingUrl(url: string): AxeDevToolsWebdriverIOdefinirIdDistinto
Este método permite que os usuários alterem o id distinto que está sendo armazenado/usado
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO