1. 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
  2. Dans votre ou vos fichiers de test, importez la fonction webdriverConfig () , la fonction wrapWebdriver () et la classe WebdriverController depuis @axe-core/watcher :

    import {
      webdriverConfig,
      wrapWebdriver,
      WebdriverController
    } from '@axe-core/watcher'
  3. 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:
    const browser = await new Builder()
      .forBrowser('chrome')
      .build()
    
    // Becomes:
    const API_KEY = process.env.API_KEY
    
    const browser = await new Builder()
      .forBrowser('chrome')
      .setChromeOptions(
        webdriverConfig({
          axe: {
            apiKey: API_KEY
          }
        }
      )
      .build()
  4. Créez une instance du WebdriverController :

    const controller = new WebdriverController(browser)
  5. Écrivez votre ** instance de navigateur** avec la ** fonction wrapWebdriver()** :

    browser = wrapWebdriver(browser, controller)
  6. 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()
    })