Anleitungen für Playwright und JavaScript

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

Konfigurieren Sie Ihre Tests mit Playwright und JavaScript

Not for use with personal data
  1. Im Stammverzeichnis Ihres Testordners installieren Sie das Paket @axe-core/watcher und alle seine Abhängigkeiten mit npm oder Ihrem bevorzugten Paketmanager (zum Beispiel yarn oder pnpm).

    npm install --save-dev @axe-core/watcher
  2. Importieren Sie in Ihrer Testdatei oder in Ihren Testdateien die Funktion playwrightConfig(), die Funktion wrapPlaywright() und die Klasse PlaywrightController aus @axe-core/watcher/playwright:

    const {
      wrapPlaywrightPage,
      playwrightConfig,
      PlaywrightController
    } = require('@axe-core/watcher/playwright')
  3. Umwickeln Sie in Ihrem Test-Setup-Code (typischerweise in einem before- oder beforeAll-Block) jeglichen vorhandenen Code zur Erstellung einer browserContext-Instanz mit einem Aufruf an playwrightConfig(), während Sie Ihren API-Schlüssel bereitstellen:

    const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY
    const PROJECT_ID = process.env.PROJECT_ID
    const SERVER_URL = process.env.SERVER_URL
    
    const browserContext = await playwright.chromium.launchPersistentContext(
      /**
       * We set userDataDir to an empty string which saves
       * browser data to a temporary directory
       * @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
       */
      '',
      playwrightConfig({
        axe: {
          apiKey: ACCESSIBILITY_API_KEY,
          projectId: PROJECT_ID,
          serverURL: SERVER_URL
        },
        /**
         * We support both headless and headed mode with Chrome.
         * 
         * For headless mode:
         * - Use '--headless=chrome' for browsers v94-108.
         * - Use '--headless=new' for browsers v109+.
         * 
         * For headed mode:
         * - Remove the '--headless' flag.
         * 
         * @see https://playwright.dev/docs/chrome-extensions#headless-mode
        */
        headless: false,
        args: ['--headless=new']
      })
    );

    Stellen Sie sicher, dass Sie ACCESSIBILITY_API_KEY und PROJECT_ID in Ihrer Umgebung auf Ihren persönlichen API-Schlüssel (zu finden in Ihrem Axe-Konto, **API-SCHLÜSSEL**-Tab) und Ihre Projekt-ID (angezeigt oben in diesen Anweisungen, als Sie Ihr Projekt erstellt haben, oder verfügbar auf der Seite "Projekte" durch Auswahl von **Projekt konfigurieren** unter **Einstellungen**) setzen. Wenn Ihre Organisation eine regionale, private Cloud oder eine lokale Axe Developer Hub-Instanz verwendet, setzen Sie auch SERVER_URL auf die Basis-URL dieser Instanz (zum Beispiel https://axe-eu.deque.com); andernfalls lassen Sie SERVER_URL weg und der Standard https://axe.deque.com wird verwendet.

  4. Sobald Sie eine page-Instanz haben, erstellen Sie eine Instanz der Klasse PlaywrightController und umwickeln Ihre browserContext:

    // Create a page instance, using your browser context.
    let page = await browserContext.newPage();
    
    // Initialize the PlaywrightController by passing in the Playwright page.
    const controller = new PlaywrightController(page);
    
    // Use the new wrapped Playwright page instance.
    page = wrapPlaywrightPage(page, controller);
  5. Stellen Sie schließlich sicher, dass alle Testergebnisse von axe Watcher gelöscht werden. Fügen Sie dazu den folgenden Codeblock in Ihren Test-Tear-Down-Code ein (typischerweise in einem afterEach-Block):

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