Instructions pour Puppeteer et TypeScript
Configurer vos tests avec Puppeteer et TypeScript
-
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
-
Dans votre ou vos fichiers de test, importez la fonction puppeteerConfig , la fonction wrapPuppeteer() et la classe PuppeteerController de @axe-core/watcher :
import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher'
-
Mettez à jour votre code de configuration de test (généralement dans un bloc before ou beforeAll ) en enveloppant tout code existant pour créer une instance de navigateur avec un appel à puppeteerConfig(), tout en obtenant votre clé API (en tant que API_KEY) à partir de l'environnement :
// Original code: browser = await puppeteer.launch({ // Your existing launch options... }) // Becomes: const API_KEY = process.env.API_KEY const browser = await puppeteer.launch( puppeteerConfig({ axe: { apiKey: API_KEY }, headless: false }) );
-
Créez une instance de PuppeteerController et encapsulez votre 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)
-
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() });