Axe Watcher nécessite un navigateur compatible : Chrome pour Testing (une installation de navigateur distincte de Google Chrome), Chromium ou Microsoft Edge. Playwright et Puppeteer gèrent leurs propres téléchargements de navigateur et installent toujours une version supportée par Axe Watcher, vous n'avez donc rien à installer vous-même. Voir Configurer et paramétrer les navigateurs pour une utilisation avec Axe Watcher pour plus de détails.
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/watcherDans votre fichier ou vos fichiers de test, importez la fonction puppeteerConfig(), la fonction wrapPuppeteer() et la classe PuppeteerController depuis @axe-core/watcher/puppeteer :
const {
puppeteerConfig,
wrapPuppeteerPage,
PuppeteerController
} = require('@axe-core/watcher/puppeteer')Mettez à jour votre code de configuration des tests (généralement dans un bloc before ou beforeAll), encapsulez tout code existant pour créer une instance de browser avec un appel à puppeteerConfig(), tout en fournissant votre clé API :
const 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
},
// Your existing launch options...
})
)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.
Créez une instance de PuppeteerController et encapsulez votre browserContext Puppeteer :
// 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 tests d'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()
})