Instructions pour Playwright et 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

Configurer vos tests avec Playwright et TypeScript

Not for use with personal data
  1. Au niveau racine de votre dossier de test, installez le package @axe-core/watcher et toutes ses dépendances en utilisant npm ou votre gestionnaire de packages préféré (par exemple, yarn ou pnpm).

    npm install --save-dev @axe-core/watcher
  2. Dans votre fichier ou vos fichiers de test, importez la fonction playwrightConfig(), la fonction wrapPlaywright() et la classe PlaywrightController de @axe-core/watcher/playwright :

    import {
      wrapPlaywrightPage,
      playwrightConfig,
      PlaywrightController
    } from '@axe-core/watcher/playwright';
  3. Dans votre code de configuration de test (généralement dans un bloc before ou beforeAll), encapsulez tout code existant pour créer une instance de browserContext avec un appel à playwrightConfig() tout en fournissant votre clé API :

    
    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: BrowserContext = await 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']
      })
    );

    Assurez-vous de définir ACCESSIBILITY_API_KEY et PROJECT_ID dans votre environnement sur votre clé API personnelle (disponible dans votre compte Axe, onglet **CLÉS API**) et votre ID de projet (indiqué en haut de ces instructions lorsque vous avez créé votre projet ou disponible à partir de la page Projets en choisissant **Configurer le projet** sous **Paramètres**). Si votre organisation utilise une instance Axe Developer Hub régionale, cloud privé ou sur site, définissez également SERVER_URL sur l'URL de base de cette instance (par exemple, https://axe-eu.deque.com) ; sinon, omettez SERVER_URL et la valeur par défaut https://axe.deque.com sera utilisée.

  4. Une fois que vous avez une instance page, créez une instance de la classe PlaywrightController et encapsulez votre 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. Enfin, assurez-vous que tous les résultats de test de Axe Watcher sont vidés. Pour ce faire, ajoutez le bloc de code suivant à votre code de démontage de test (généralement dans un bloc afterEach) :

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