important

Axe Watcher vereist een ondersteunde browser die al op uw systeem is geïnstalleerd: Chrome for Testing (een aparte browserinstallatie, anders dan Google Chrome), Chromium of Microsoft Edge. Google Chrome, versie 139 of later, wordt niet ondersteund. Zie Browsers instellen en configureren voor gebruik met Axe Watcher voor installatie- en configuratie-instructies.

  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. Implementeer in uw testbestand of -bestanden de webdriverConfig()-functie, de wrapWebdriver()-functie en de WebdriverController-klasse van @axe-core/watcher/webdriver:

    const {
      webdriverConfig,
      wrapWebdriver,
      WebdriverController
    } = require('@axe-core/watcher/webdriver')
  3. Werk uw testconfiguratiecode bij (meestal in een before- of beforeAll-blok), waarbij u Chrome-opties specificeert bij het aanmaken van uw browser-instantie, en geef uw API-sleutel op:

    // Original code:
    let browser = await new Builder()
      .forBrowser('chrome')
      .build()
    
    // Becomes:
    const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY
    const PROJECT_ID = process.env.PROJECT_ID
    const SERVER_URL = process.env.SERVER_URL
    
    let browser = await new Builder()
      .forBrowser('chrome')
      .setChromeOptions(
        webdriverConfig({
          axe: {
            apiKey: ACCESSIBILITY_API_KEY,
            projectId: PROJECT_ID,
            serverURL: SERVER_URL
          }
        }
      )
      .build()

    Zorg ervoor dat je ACCESSIBILITY_API_KEY en PROJECT_ID in je omgeving instelt op je persoonlijke API-sleutel (te vinden in je Axe-account, tabblad **API-SLEUTELS**) en je project-ID (weergegeven bovenaan deze instructies toen je je project maakte of beschikbaar van de Projecten-pagina door **Project configureren** te kiezen onder **Instellingen**). Als je organisatie een regionale, private cloud of on-premises Axe Developer Hub-instantie gebruikt, stel dan ook SERVER_URL in op de basis-URL van die instantie (bijvoorbeeld, https://axe-eu.deque.com); zo niet, laat dan SERVER_URL weg en zal de standaard https://axe.deque.com gebruikt worden.

  4. Maak een instantie van de WebdriverController:

    const controller = new WebdriverController(browser)
    note

    Als u screenshot vastleggen (takeScreenshots: true) inschakelt, merk dan op dat WebdriverController geen screenshot vastleggen implementeert in @axe-core/watcher 4.6.0. Om screenshots vast te leggen, subclass WebdriverController, overschrijf captureScreenshot() om de eigen takeScreenshot() methode van Selenium aan te roepen, en instantieer vervolgens uw subclass:

    class ScreenshotWebdriverController extends WebdriverController {
      async captureScreenshot() {
        return await this.driver.takeScreenshot()
      }
    }
    
    const controller = new ScreenshotWebdriverController(browser)
  5. Wikkel uw browser-instantie in met de wrapWebdriver()-functie:

    browser = wrapWebdriver(browser, controller)
  6. Zorg er ten slotte voor dat alle testresultaten van Axe Watcher worden geleegd. Voeg hiervoor het volgende codeblok toe aan je afsluitende testcode (meestal in een afterEach-blok):

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