No nível raiz da sua pasta de testes, instale o @axe-core/watcher pacote e todas as suas dependências usando npm ou o seu gerenciador de pacotes preferido (por exemplo, yarn ou pnpm).
npm install --save-dev @axe-core/watcherNo seu wdio.config.ts arquivo, importe a wdioTestRunner() função, a wrapWdio() função, e a WdioController classe de @axe-core/watcher/wdio:
import {
wdioTestRunner,
wrapWdio,
WdioController
} from '@axe-core/watcher/wdio'Antes de exportar sua configuração do WebdriverIO, envolva-a com uma chamada para wdioTestRunner() fornecendo sua chave de API:
// Original code:
export const config = {
// Your config options here...
}
// Becomes:
const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY
const PROJECT_ID = process.env.PROJECT_ID
export const config = wdioTestRunner({
axe: {
apiKey: ACCESSIBILITY_API_KEY,
projectId: PROJECT_ID
}, {
// Your config options here...
}
})Certifique-se de definir ACCESSIBILITY_API_KEY e PROJECT_ID no seu ambiente para a sua chave de API pessoal (encontrada na sua conta Axe, API KEYS aba) e o ID do seu projeto (exibido no topo destas instruções quando você criou seu projeto ou disponível na página Projetos ao escolher Configurar projeto em Configurações).
No código de configuração do seu teste (normalmente em um before ou beforeAll bloco), crie uma instância da WdioController classe, e então envolva seu browser objeto:
const controller = new WdioController(browser)
wrapWdio(browser, controller)Por fim, certifique-se de que todos os resultados de teste do axe Watcher sejam descarregados. Para fazer isso, adicione o seguinte bloco de código ao seu código de finalização de teste (normalmente em um afterFetch bloco):
afterEach(async () => {
await controller.flush()
})