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/watcherImporteer 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'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**).
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)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()
});