Instructies voor Puppeteer en TypeScript
Je tests configureren met Puppeteer en TypeScript
Axe Watcher vereist een ondersteunde browser: Chrome for Testing (een aparte browserinstallatie, verschillend van Google Chrome), Chromium of Microsoft Edge. Playwright en Puppeteer beheren hun eigen browserdownloads en installeren altijd een versie die Axe Watcher ondersteunt, dus er is niets dat je zelf hoeft te installeren. Zie Browsers instellen en configureren voor gebruik met Axe Watcher voor details.
-
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 je
ACCESSIBILITY_API_KEYenPROJECT_IDin 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 ookSERVER_URLin op de basis-URL van die instantie (bijvoorbeeld,https://axe-eu.deque.com); zo niet, laat danSERVER_URLweg en zal de standaardhttps://axe.deque.comgebruikt worden. -
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 tot slot voor dat alle testresultaten van Axe Watcher worden leeggemaakt. Voeg hiervoor het volgende codeblok toe aan je test-afbouwcode (typisch in een
afterEachblok):afterEach(async () => { await controller.flush() });
