Instructies voor Puppeteer en TypeScript
Je tests configureren met Puppeteer en TypeScript
-
Installeer in de hoofdmap van je testmap het
@axe-core/watcher-pakket en al zijn afhankelijkheden metnpmof je voorkeurspakketbeheerder (bijvoorbeeldyarnofpnpm).npm install --save-dev @axe-core/watcher -
Importeer in je testbestand of bestanden de functies
puppeteerConfig()enwrapPuppeteer(), en de klassePuppeteerControllervan@axe-core/watcher/puppeteer:import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher/puppeteer' -
Werk je testsetupcode bij (meestal in een
before- ofbeforeAll-blok) door bestaande code voor het maken van eenbrowser-instantie te omhullen met een oproep naarpuppeteerConfig(), terwijl je je API-sleutel uit de omgeving verkrijgt (alsACCESSIBILITY_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 SERVER_URL = process.env.SERVER_URL const browser = await puppeteer.launch( puppeteerConfig({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID, serverURL: SERVER_URL }, 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** 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 ookSERVER_URLin op de basis-URL van die instance (bijvoorbeeldhttps://axe-eu.deque.com); anders laat uSERVER_URLweg en wordt de standaardhttps://axe.deque.comgebruikt. -
Maak een instantie van
PuppeteerControlleren omhul je 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 leeggemaakt. Voeg hiervoor het volgende codeblok toe aan je testafsluitcode (meestal in een
afterEach-blok):afterEach(async () => { await controller.flush() });
