Instructions pour Puppeteer et JavaScript
Configurer vos tests avec Puppeteer et JavaScript
-
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 :
const { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } = require('@axe-core/watcher')
-
Mettez à jour 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 navigateur avec un appel à puppeteerConfig(), tout en fournissant votre clé API :
const browser = await puppeteer.launch({ // Your existing launch options... }) // Becomes: const browser = await puppeteer.launch( puppeteerConfig({ axe: { apiKey: process.env.API_KEY }, // Your existing launch options... }) )
-
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() })