Instructies voor Puppeteer en JavaScript
Uw tests configureren met Puppeteer en JavaScript
-
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:const { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } = require('@axe-core/watcher/puppeteer') -
Werk uw testopstellingscode bij (gewoonlijk in een
beforeofbeforeAllblok), omhul alle bestaande code voor het maken van eenbrowserinstantie met een aanroep naarpuppeteerConfig(), met uw API-sleutel:const 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 }, // Your existing launch options... }) )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) -
Zorg er tenslotte voor dat alle testresultaten van axe Watcher worden vrijgegeven. Voeg hiervoor het volgende codeblok toe aan uw testafbreekcode (gewoonlijk in een
afterEachblok):afterEach(async () => { await controller.flush() })
