Een Node.js-integratie kiezen
Hoe u het Axe DevTools voor Web-pakket kiest dat past bij het soort test dat u schrijft
Axe DevTools voor Web biedt verschillende Node.js- en JavaScript-pakketten aan. Ze draaien allemaal dezelfde toegankelijkheidsregels en produceren dezelfde soort resultaten. Wat hen onderscheidt is waarop een scan wordt uitgevoerd, wat voortvloeit uit het soort test dat u schrijft:
- U rendert markup binnen de test en wilt het scannen, zoals in een component- of unittest. Gebruik
@axe-devtools/browser. - Uw test stuurt een browser naar een pagina en u wilt die pagina scannen, zoals in een end-to-end-test. Gebruik het pakket voor het gereedschap dat uw browser al bestuurt.
Als u al weet welk pakket u nodig heeft, ga dan naar Installatieopties.
Markup scannen die uw test rendert
Het @axe-devtools/browser-pakket is een JavaScript-bibliotheek die wordt geladen op de pagina die uw tests uitvoeren. U initialiseert het één keer, en u geeft vervolgens AxeDevTools.run() een DOM-element om te scannen. Omdat het een element in plaats van een browsersessie gebruikt, is het geschikt voor testrunners die hun eigen markup renderen, zoals Jasmine, Karma, of een testbibliotheek die onder Jest draait.
Ondanks de naam is @axe-devtools/browser geen interactieve tool of browserextensie. Het draait binnen geautomatiseerde tests op dezelfde manier als de andere pakketten.
Karma
Karma is geen aparte integratie. U schrijft tests met @axe-devtools/browser, en voegt @axe-devtools/karma-json-reporter toe als een Karma-plugin. De reporter schrijft een JSON-bestand voor elke scan die u logt, en @axe-devtools/cli zet die bestanden om in rapporten na de testrun.
Pagina's scannen die uw test navigeert
Als uw testset pagina's opent in een browser, kies dan het pakket dat past bij het gereedschap dat die browser al bestuurt. Elk voegt een toegankelijkheidsscan toe aan de sessie die uw tests al hebben, dus u hoeft niet te veranderen hoe uw tests de browser starten of de pagina bereiken.
| Uw tests gebruiken | Pakket | Gids |
|---|---|---|
| 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 is anders opgezet dan de anderen. In plaats van een Axe DevTools-object rond een driver te creëren, registreert u een plugin in cypress.config.js en importeert u het pakket in uw ondersteuningsbestand, wat Axe DevTools-commando's toevoegt aan cy.
Cucumber
Cucumber is ook geen aparte integratie. Zet eerst WebDriverJS, WebdriverIO of Puppeteer op, en definieer vervolgens herbruikbare Gherkin-stappen die het aanroepen.
Rapportage, logging en Axe Developer Hub
Deze pakketten werken naast een van de bovenstaande integraties, in plaats van er een te vervangen:
- Node Reporter (
@axe-devtools/reporter) genereert rapporten van uw opgeslagen resultaten. - Node Logger (
@axe-devtools/logger) logt toegankelijkheidsresultaten terwijl uw tests worden uitgevoerd. - Uw resultaten naar Axe Developer Hub uploaden legt uit hoe u resultaten naar Axe Developer Hub kunt sturen.
Nog steeds niet zeker
Als geen van deze overeenkomen met hoe uw tests werken, neem dan contact op met uw Deque-vertegenwoordiger, of vraag het via onze ondersteuningsdesk.
