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/watcheret toutes ses dépendances en utilisantnpmou votre gestionnaire de packages préféré (par exemple,yarnoupnpm).npm install --save-dev @axe-core/watcher -
Dans votre ou vos fichiers de test, importez la fonction
puppeteerConfig(), la fonctionwrapPuppeteer()et la classePuppeteerControllerde@axe-core/watcher/puppeteer:import { puppeteerConfig, wrapPuppeteerPage, PuppeteerController } from '@axe-core/watcher/puppeteer' -
Mettez à jour votre code de configuration de test (généralement dans un bloc
beforeoubeforeAll) en enveloppant tout code existant pour créer une instancebrowseravec un appel àpuppeteerConfig(), tout en obtenant votre clé API de l'environnement (commeACCESSIBILITY_API_KEY) :// Original code: browser = await puppeteer.launch({ // Your existing launch options... }) // Becomes: const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY const PROJECT_ID = process.env.PROJECT_ID const SERVER_URL = process.env.SERVER_URL const browser = await puppeteer.launch( puppeteerConfig({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID, serverURL: SERVER_URL }, headless: false }) );Assurez-vous de définir
ACCESSIBILITY_API_KEYetPROJECT_IDdans votre environnement avec votre clé API personnelle (trouvée 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 sur la page Projets en choisissant **Configurer le projet** sous **Paramètres**). Si votre organisation utilise une instance Axe Developer Hub régionale, privée, ou sur site, définissez égalementSERVER_URLsur l’URL de base de cette instance (par exemple,https://axe-eu.deque.com); sinon, omettezSERVER_URLet la valeur par défauthttps://axe.deque.comsera utilisée. -
Créez une instance de
PuppeteerControlleret enveloppez votrebrowserContextPuppeteer :// 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 de test de axe Watcher sont purgé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() });
