1. Installeer op het hoofdniveau van je testmap het @axe-core/watcher pakket en al zijn afhankelijkheden met behulp van npm of je voorkeurspakketmanager (bijvoorbeeld, yarn of pnpm).

    npm install --save-dev @axe-core/watcher
  2. Importeer in uw testbestand of -bestanden de puppeteerConfig() functie, de wrapPuppeteer() functie en de PuppeteerController klasse van @axe-core/watcher/puppeteer:

    import {
      puppeteerConfig,
      wrapPuppeteerPage,
      PuppeteerController
    } from '@axe-core/watcher/puppeteer'
  3. Werk uw testopstellingscode bij (meestal in een before of beforeAll blok) door alle bestaande code voor het creƫren van een browser instantie te omwikkelen met een aanroep naar puppeteerConfig(), terwijl u uw API-sleutel uit de omgeving haalt (zoals ACCESSIBILITY_API_KEY):

    // Original code:
    
    browser = await puppeteer.launch({
      // Your existing launch options...
    })
    
    // Becomes:
    
    const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY
    const PROJECT_ID = process.env.PROJECT_ID
    
    const browser = await puppeteer.launch(
      puppeteerConfig({
        axe: {
          apiKey: ACCESSIBILITY_API_KEY,
          projectId: PROJECT_ID
        },
        headless: false
      })
    );

    Zorg ervoor dat u ACCESSIBILITY_API_KEY en PROJECT_ID in uw omgeving instelt op uw persoonlijke API-sleutel (te vinden in uw axe-account, **API-SLEUTELS** tab) en uw project-ID (weergegeven bovenaan deze instructies toen u uw project aanmaakte of beschikbaar op de projectpagina door te kiezen voor **Project configureren** onder **Instellingen**).

  4. Maak een instantie van PuppeteerController en omhul uw Puppeteer browserContext:

    // Create a page instance, using your browser instance.
    let page = await browser.newPage()
    
    // Initialize the PuppeteerController by passing in the Puppeteer page.
    const controller = new PuppeteerController(page)
    
    // Use the new wrapped Puppeteer page instance.
    page = wrapPuppeteerPage(page, controller)
  5. Tot slot, zorg ervoor dat alle testresultaten van axe Watcher worden uitgespoeld. Om dit te doen, voeg het volgende codeblok toe aan uw testafbraakcode (meestal in een afterEach blok):

    afterEach(async () => {
      await controller.flush()
    });