Instructions pour Playwright et JavaScript

Link to Instructions pour Playwright et JavaScript copied to clipboard

Configurer vos tests avec Playwright et JavaScript

Free Trial
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 à l'aide de npm ou de votre gestionnaire de packages préféré (par exemple, Yarn ou pnpm).

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

    const {
      wrapPlaywrightPage,
      playwrightConfig,
      PlaywrightController
    } = require('@axe-core/watcher')
  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 browserContext avec un appel à playwrightConfig tout en fournissant votre clé API :

    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: process.env.API_KEY
        },
        /**
         * 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']
      })
    );
  4. Une fois que vous avez une instance de 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 des tests d’axe Watcher sont complètement traité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()
    })