Instructies voor Puppeteer en TypeScript

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Je tests configureren met Puppeteer en TypeScript

Not for use with personal data
  1. Installeer in de hoofdmap van je testmap het @axe-core/watcher-pakket en al zijn afhankelijkheden met npm of je voorkeurspakketbeheerder (bijvoorbeeld yarn of pnpm).

    npm install --save-dev @axe-core/watcher
  2. Importeer in je testbestand of bestanden de functies puppeteerConfig() en wrapPuppeteer(), en de klasse PuppeteerController van @axe-core/watcher/puppeteer:

    import {
      puppeteerConfig,
      wrapPuppeteerPage,
      PuppeteerController
    } from '@axe-core/watcher/puppeteer'
  3. Werk je testsetupcode bij (meestal in een before- of beforeAll-blok) door bestaande code voor het maken van een browser-instantie te omhullen met een oproep naar puppeteerConfig(), terwijl je je API-sleutel uit de omgeving verkrijgt (als 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 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_KEY en PROJECT_ID in 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 ook SERVER_URL in op de basis-URL van die instantie (bijvoorbeeld, https://axe-eu.deque.com); zo niet, laat dan SERVER_URL weg en zal de standaard https://axe.deque.com gebruikt worden.

  4. Maak een instantie van PuppeteerController en omhul je 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)
  5. 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 afterEach blok):

    afterEach(async () => {
      await controller.flush()
    });