Choisir une Intégration Node.js
Comment choisir le package Axe DevTools for Web qui correspond au type de test que vous écrivez
Axe DevTools for Web propose plusieurs packages Node.js et JavaScript. Ils exécutent tous les mêmes règles d'accessibilité et produisent le même type de résultats. Ce qui les distingue, c'est l'objet du scan, qui découle du type de test que vous écrivez :
- Vous générez du code HTML dans le test et souhaitez le scanner, comme dans un test de composant ou unitaire. Utilisez
@axe-devtools/browser. - Votre test pilote un navigateur vers une page et vous souhaitez scanner cette page, comme dans un test de bout en bout. Utilisez le package pour l'outil qui pilote déjà votre navigateur.
Si vous savez déjà quel package vous avez besoin, rendez-vous à Options d'installation.
Scanner le code HTML que votre test génère
Le package @axe-devtools/browser est une bibliothèque JavaScript chargée sur la page que vos tests exercent. Vous l'initialisez une fois, puis passez un élément DOM à AxeDevTools.run() pour le scanner. Comme il prend un élément plutôt qu'une session de navigateur, il convient aux gestionnaires de tests qui génèrent leur propre code HTML, tels que Jasmine, Karma, ou une bibliothèque de test fonctionnant sous Jest.
Malgré son nom, @axe-devtools/browser n'est pas un outil interactif ou une extension de navigateur. Il s'exécute dans des tests automatisés de la même manière que les autres packages.
Karma
Karma n'est pas une intégration séparée. Vous écrivez des tests avec @axe-devtools/browser, et ajoutez @axe-devtools/karma-json-reporter comme un plugin Karma. Le rapporteur écrit un fichier JSON pour chaque scan que vous enregistrez, et @axe-devtools/cli transforme ces fichiers en rapports après l'exécution du test.
Scanner les pages que votre test explore
Si votre suite de tests ouvre des pages dans un navigateur, choisissez le package qui correspond à l'outil qui pilote déjà ce navigateur. Chacun ajoute un scan d'accessibilité à la session que vos tests ont déjà, donc vous n'avez pas besoin de modifier la façon dont vos tests démarrent le navigateur ou atteignent la page.
| Vos tests utilisent | Package | Guide |
|---|---|---|
| Playwright | @axe-devtools/playwright |
Playwright |
| Puppeteer | @axe-devtools/puppeteer |
Puppeteer |
| WebdriverIO | @axe-devtools/webdriverio |
WebdriverIO |
WebDriverJS (selenium-webdriver) |
@axe-devtools/webdriverjs |
WebDriverJS |
| Cypress | @axe-devtools/cypress |
Cypress |
Cypress est configuré différemment des autres. Au lieu de créer un objet Axe DevTools autour d'un pilote, vous enregistrez un plugin dans cypress.config.js et importez le package dans votre fichier de support, ce qui ajoute des commandes Axe DevTools à cy.
Cucumber
Cucumber n'est pas une intégration séparée non plus. Configurez d'abord WebDriverJS, WebdriverIO ou Puppeteer, puis définissez des étapes Gherkin réutilisables qui l'appellent.
Rapports, journalisation, et Axe Developer Hub
Ces packages fonctionnent à côté de l'une des intégrations ci-dessus, plutôt que de les remplacer :
- Node Reporter (
@axe-devtools/reporter) génère des rapports à partir de vos résultats enregistrés. - Node Logger (
@axe-devtools/logger) enregistre les résultats d'accessibilité au fur et à mesure que vos tests s'exécutent. - Téléchargement de vos résultats sur Axe Developer Hub explique comment envoyer des résultats à Axe Developer Hub.
Pas encore sûr
Si aucun de ces choix ne correspond au fonctionnement de vos tests, contactez votre représentant Deque ou posez la question via notre service d'assistance.
