1. Installeer in de hoofdmap van je testmap het @axe-core/watcher-pakket en al zijn afhankelijkheden met npm of je voorkeurspakketbeheerder (bijvoorbeeld yarn of pnpm).

    npm install --save-dev @axe-core/watcher
  2. Importeer in uw wdio.config.ts-bestand de wdioTestRunner()-functie, de wrapWdio()-functie en de WdioController-klasse van @axe-core/watcher/wdio:

    import {
      wdioTestRunner,
      wrapWdio,
      WdioController
    } from '@axe-core/watcher/wdio'
  3. Voordat u uw WebdriverIO-configuratie exporteert, omhul deze met een aanroep naar wdioTestRunner() terwijl u uw API-sleutel opgeeft:

    // 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
    const SERVER_URL = process.env.SERVER_URL
    
    export const config = wdioTestRunner({
      axe: {
        apiKey: ACCESSIBILITY_API_KEY,
        projectId: PROJECT_ID,
        serverURL: SERVER_URL
      }, {
        // Your config options here...
      }
    })

    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** tabblad) en uw project-ID (aangegeven bovenaan deze instructies toen u uw project maakte of beschikbaar op de projectenpagina door **Project configureren** te kiezen onder **Instellingen**). Als uw organisatie een regionale, private cloud of on-premises Axe Developer Hub-instance gebruikt, stel dan ook SERVER_URL in op de basis-URL van die instance (bijvoorbeeld https://axe-eu.deque.com); anders laat u SERVER_URL weg en wordt de standaard https://axe.deque.com gebruikt.

  4. Maak in uw testopstellingscode (typisch in een before of beforeAll-blok) een instantie van de WdioController-klasse en omhul vervolgens uw browser-object:

    const controller = new WdioController(browser)
    wrapWdio(browser, controller)
  5. Zorg er ten slotte voor dat alle testresultaten van axe Watcher worden verwerkt. Voeg hiervoor het volgende codeblok toe aan uw testafbraakcode (typisch in een afterFetch-blok):

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