Auswahl einer Node.js-Integration
So wählen Sie das Axe DevTools for Web-Paket aus, das zu der Art von Test passt, die Sie schreiben
Axe DevTools for Web bietet mehrere Node.js- und JavaScript-Pakete an. Sie alle führen dieselben Barrierefreiheitsrichtlinien aus und erzeugen die gleichen Arten von Ergebnissen. Was sie voneinander unterscheidet, ist, gegen was ein Scan läuft, was sich aus der Art des Tests ergibt, den Sie schreiben:
- Sie rendern Markup innerhalb des Tests und möchten es scannen, wie bei einem Komponenten- oder Unit-Test. Verwenden Sie
@axe-devtools/browser. - Ihr Test steuert einen Browser zu einer Seite und Sie möchten diese Seite scannen, wie bei einem End-to-End-Test. Verwenden Sie das Paket für das Tool, das Ihren Browser bereits steuert.
Wenn Sie bereits wissen, welches Paket Sie benötigen, gehen Sie zu Installationsoptionen.
Scannen von Markup, das Ihr Test rendert
Das @axe-devtools/browser-Paket ist eine JavaScript-Bibliothek, die in die Seite geladen wird, die Ihre Tests ausführen. Sie initialisieren es einmal und übergeben dann AxeDevTools.run() ein DOM-Element zum Scannen. Da es ein Element statt einer Browser-Sitzung erfordert, eignet es sich für Testrunner, die ihr eigenes Markup rendern, wie Jasmine, Karma oder eine unter Jest laufende Testbibliothek.
Trotz seines Namens ist @axe-devtools/browser kein interaktives Tool oder eine Browser-Erweiterung. Es läuft in automatisierten Tests genauso wie die anderen Pakete.
Karma
Karma ist keine separate Integration. Sie schreiben Tests mit @axe-devtools/browser und fügen @axe-devtools/karma-json-reporter als Karma-Plugin hinzu. Der Reporter schreibt eine JSON-Datei für jeden Scan, den Sie protokollieren, und @axe-devtools/cli wandelt diese Dateien nach dem Testlauf in Berichte um.
Scannen von Seiten, zu denen Ihr Test navigiert
Wenn Ihr Test Suite Seiten in einem Browser öffnet, wählen Sie das Paket, das zum Tool passt, das bereits Ihren Browser steuert. Jedes fügt der Sitzung, die Ihre Tests bereits haben, das Barrierefreiheit Scanning hinzu, sodass Sie nicht ändern müssen, wie Ihre Tests den Browser starten oder die Seite erreichen.
| Ihre Tests verwenden | Paket | Anleitung |
|---|---|---|
| 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 ist anders eingerichtet als die anderen. Anstatt ein Axe DevTools-Objekt um einen Driver herum zu erstellen, registrieren Sie ein Plugin in cypress.config.js und importieren das Paket in Ihre Support-Datei, was Axe DevTools-Befehle zu cy hinzufügt.
Cucumber
Cucumber ist auch keine separate Integration. Richten Sie zunächst WebDriverJS, WebdriverIO oder Puppeteer ein und definieren Sie dann wiederverwendbare Gherkin-Schritte, die es aufrufen.
Berichterstattung, Protokollierung und Axe Developer Hub
Diese Pakete arbeiten neben den oben genannten Integrationen, anstatt eine zu ersetzen:
- Node Reporter (
@axe-devtools/reporter) generiert Berichte aus Ihren gespeicherten Ergebnissen. - Node Logger (
@axe-devtools/logger) protokolliert Barrierefreiheitsergebnisse während Ihre Tests laufen. - Hochladen Ihrer Ergebnisse zum Axe Developer Hub erklärt, wie man Ergebnisse an den Axe Developer Hub sendet.
Immer noch unsicher
Wenn keine dieser Optionen zu der Arbeitsweise Ihrer Tests passt, kontaktieren Sie Ihren Deque-Vertreter oder fragen Sie über unser Support Desk.
