Au niveau racine de votre dossier de test, installez le package @axe-core/watcher et toutes ses dépendances à l'aide de npm ou de votre gestionnaire de packages préféré (par exemple, Yarn ou pnpm).
npm install --save-dev @axe-core/watcher
Dans votre ou vos fichiers de test, importez la fonction webdriverConfig(), la fonction wrapWebdriver() et la classe WebdriverController depuis @axe-core/watcher :
const {
webdriverConfig,
wrapWebdriver,
WebdriverController
} = require('@axe-core/watcher')
Mettez à jour votre code de configuration de test (généralement dans un bloc before ou beforeAll ), en spécifiant les options Chrome lors de l'instanciation de votre instance de navigateur , en fournissant votre clé API :
// Original code:
let browser = await new Builder()
.forBrowser('chrome')
.build()
// Becomes:
const API_KEY = process.env.API_KEY
let browser = await new Builder()
.forBrowser('chrome')
.setChromeOptions(
webdriverConfig({
axe: {
apiKey: API_KEY
}
}
)
.build()
Créez une instance du WebdriverController :
const controller = new WebdriverController(browser)
Écrivez votre ** instance de navigateur** avec la ** fonction wrapWebdriver()** :
browser = wrapWebdriver(browser, controller)
Enfin, assurez-vous que tous les résultats des tests d’axe Watcher sont complètement traités. Pour ce faire, ajoutez le bloc de code suivant à votre code de démontage de test (généralement dans un bloc afterEach) :
afterEach(async () => {
await controller.flush()
})