Instructies voor Puppeteer en TypeScript
Uw tests configureren met Puppeteer en TypeScript
-
Installeer op het hoofdniveau van je testmap het
@axe-core/watcherpakket en al zijn afhankelijkheden met behulp vannpmof je voorkeurspakketmanager (bijvoorbeeld,yarnofpnpm).npm install --save-dev @axe-core/watcher -
Importeer in uw testbestand of -bestanden de
puppeteerConfig()functie, dewrapPuppeteer()functie en dePuppeteerControllerklasse van@axe-core/watcher/puppeteer:import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher/puppeteer' -
Werk uw testopstellingscode bij (meestal in een
beforeofbeforeAllblok) door alle bestaande code voor het creëren van eenbrowserinstantie te omwikkelen met een aanroep naarpuppeteerConfig(), terwijl u uw API-sleutel uit de omgeving haalt (zoalsACCESSIBILITY_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_KEYenPROJECT_IDin 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
PuppeteerControlleren omhul uw PuppeteerbrowserContext:// 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
afterEachblok):afterEach(async () => { await controller.flush() });
