Rapporten genereren van Axe DevTools JSON-resultaten
Gebruik van het @axe-devtools/reporter pakket voor het genereren van rapporten
Gebruik de Axe DevTools rapportagefunctie met Playwright om toegankelijkheidsrapporten te produceren voor gescande pagina's
Rapporten genereren is nu net zo eenvoudig als het uitvoeren van scans. Met de Axe DevTools rapportagefunctie kun je direct leesbare HTML-rapporten genereren, JUnit XML-rapporten voor weergave in CI-testomgevingen en CSV-rapporten om in een veelheid aan andere tools te importeren. Deze gids beschrijft hoe je de Axe DevTools rapportagefunctie installeert, instelt en gebruikt.
Vereisten
Om de Axe DevTools rapportagefunctie te gebruiken, heb je een bestaand NodeJS-project nodig om Axe DevTools en de rapportagefunctie in te integreren. Dit deel van de gids behandelt alleen de installatie van de rapportagefunctie, dus als je Axe DevTools nog niet hebt draaien voor scans, lees dan deze gids over hoe je scans uitvoert met Axe DevTools.
Installeren van de Reporter
Als je je ~/.npmrc bestand al hebt geconfigureerd om Axe DevTools npm-pakketten te downloaden, hoef je alleen maar het volgende commando uit te voeren:
npm install @axe-devtools/reporterAls je de authenticatie voor de installatie nog niet hebt geconfigureerd, lees dan een van de basis installatiehandleidingen.
De Reporter toevoegen aan je Project
Buiten een module wordt Axe DevTools geïmporteerd en een instantie gemaakt met een instructie als deze:
const { Reporter } = require('@axe-devtools/reporter');Binnen een module is de syntaxis iets anders. De uitspraak moet er als volgt uitzien:
import { Reporter } from '@axe-devtools/reporter';Om de rapportagefunctie te gebruiken, moeten je Axe DevTools-bibliotheek en webdriver ook geïmporteerd worden.
Reportermogelijkheden
Er zijn drie belangrijke keuzes die je moet maken bij het gebruik van de Axe DevTools rapportagefunctie
- Hoe je de rapporten gaat noemen
- Waar je de rapporten gaat opslaan
- In welk formaat je de rapporten gaat genereren
Je kunt de rapporten noemen zoals je wilt. Wanneer je de reporter initialiseert, geef je een suitenaam om mee te geven, die alle rapporten die met die instantie worden gegenereerd, zullen delen. Elk rapport bevat ook een naam die aan elke scan afzonderlijk wordt toegewezen. De locatie of directory waar de rapporten worden opgeslagen, is ook volledig aan de gebruiker. Deze locatie is ook ingesteld op instansieniveau, zodat alle rapporten die op één reporterinstantie worden gegenereerd, een directory delen. De optionele rapportformaten zijn HTML, die we aanbevelen voor directe gebruikersweergave, JUnit XML, die we aanbevelen voor gebruik in CI-omgevingen, CSV, waarmee de scanresultaten kunnen worden geïmporteerd in andere tools, en EARL (Evaluation and Report Language), die een W3C EARL JSON-LD-document output voor machinaal leesbare toegankelijkheidsrapportage.
De Reporter gebruiken
Zodra de reporter in je project is geïmporteerd, kun je deze initialiseren. De constructor neemt twee argumenten: de reportsuitennaam en de doelmap voor de rapporten. Je initialisatie-uitspraak moet er ongeveer zo uitzien:
reporter = new Reporter('<suite-name>', '<dir-name>');Er zijn twee stappen om de rapportagefunctie te gebruiken nadat een Axe DevTools-scan is uitgevoerd. Eerst moeten de resultaten worden gelogd zodat de rapportagefunctie er toegang toe heeft. Vervolgens verwerkt de rapportagefunctie deze resultaten in het rapport.
reporter.logTestResult('<scan-name>', <results-object>);
reporter.buildHTML('<scan-dir>');Voorbeeldbestand
Dit voorbeeldbestand gebruikt dezelfde basis als het tests schrijven-voorbeeld, maar het integreert ook de rapportagefunctie.
const rimraf = require('rimraf');
const { AxeDevToolsBuilder } = require('@axe-devtools/playwright');
const playwright = require('playwright');
const { Reporter } = require('@axe-devtools/reporter');
(async () => {
rimraf.sync('./a11y_results/*');
const browser = await playwright.chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
const reporter = new Reporter('playwright', './a11y_results');
await page.goto('https://dequeuniversity.com/demo/mars/');
const results = await new AxeDevToolsBuilder({ page }).analyze();
reporter.logTestResult('tested-page', results);
reporter.buildHTML('./a11y_results');
await browser.close();
})();Problemen oplossen
Als je problemen ondervindt bij het verkrijgen van scanresultaten, neem dan direct contact op met je Deque-vertegenwoordiger, bereik ons via onze support desk, of stuur ons een e-mail. We helpen je graag.
Zie ook
- Uploaden van JSON-toegankelijkheidsresultaten naar axe Reports beschrijft hoe u uw resultaten kunt uploaden naar axe Reports.
- Verkrijgen van een axe Reports API-sleutel legt uit hoe u een API-sleutel kunt verkrijgen om te beginnen met het gebruik van axe Reports.
- Rapporten maken en filteren laat zien hoe u toegankelijkheidsrapporten kunt maken in CSV, XML of HTML op basis van uw JSON-toegankelijkheidsresultaten. U kunt uw output ook filteren op ernst met dit hulpmiddel.
- Hoe JSON-resultaten op schijf worden opgeslagen beschrijft de naamgevingsconventies voor JSON-toegankelijkheidsresultaten.
- De CLI gebruiken om toegankelijkheidsresultaten naar axe Developer Hub te sturen laat zien hoe u uw
.jsonresultatenbestanden kunt uploaden naar axe Developer Hub.
