1.1.11 • Published 7 years ago
@ictu/axe-reports v1.1.11
aXe Reports
Create human readable reports from the results object created by the aXe analyze function.
Getting Started
npm install @ictu/axe-reportsPrerequisites
Selenium WebDriver
Require
aXe Core
aXe WebDriver JavaScript
npm install selenium-webdriver
npm install require
npm install axe-core
npm install axe-webdriverjsInstalling
npm install @ictu/axe-reportsUsage
Create a Results File
Version 1.1.x supports independent results file creation
AxeReports.processResults(results, fileType, fileName, [createNewReport])
object results = aXe results object
string fileType = file extension (only 'csv' and 'tsv' are supported)
string fileName = name of file (i.e. test-results) without file extension
boolean createNewReport = tells file writer to start a new file or notOR
Use a create report header row function to start a report; this creates the report header row.
AxeReports.createCsvReportHeaderRow();OR
AxeReports.createTsvReportHeaderRow();To create the rest of the report, call the create report row function passing the results object from the analyze function to create the rest of the report
AxeReports.createCsvReportRow(results);OR
AxeReports.createTsvReportRow(results);ADDITIONALLY
You can create an entire report with one call
AxeReports.createCsvReport(results);OR
AxeReports.createTsvReport(results);Sample Test #1 (create a test results file)
var AxeBuilder = require('axe-webdriverjs'),
AxeReports = require('@ictu/axe-reports'),
webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('chrome') //or firefox or whichever driver you use
.build();
var AXE_BUILDER = AxeBuilder(driver)
.withTags(['wcag2a', 'wcag2aa']); // specify your test criteria (see aXe documentation for more info)
driver.get('https://www.google.com');
driver.wait(until.titleIs('Google'), 1000)
.then(function () {
AXE_BUILDER.analyze(function (results) {
AxeReports.processResults(results, 'csv', 'test-results', true);
});
});
driver.get('https://www.bing.com');
driver.wait(until.titleIs('Bing'), 1000)
.then(function () {
AXE_BUILDER.analyze(function (results) {
AxeReports.processResults(results, 'csv', 'test-results');
});
});
driver.quit();Sample Test #2 (separate row creation - useful when creating one report for multiple pages)
var AxeBuilder = require('axe-webdriverjs'),
AxeReports = require('@ictu/axe-reports'),
webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('chrome') //or firefox or whichever driver you use
.build();
var AXE_BUILDER = AxeBuilder(driver)
.withTags(['wcag2a', 'wcag2aa']); // specify your test criteria (see aXe documentation for more info)
AxeReports.createCsvReportHeaderRow();
driver.get('https://www.google.com');
driver.wait(until.titleIs('Google'), 1000)
.then(function () {
AXE_BUILDER.analyze(function (results) {
AxeReports.createCsvReportRow(results);
});
});
driver.get('https://www.bing.com');
driver.wait(until.titleIs('Bing'), 1000)
.then(function () {
AXE_BUILDER.analyze(function (results) {
AxeReports.createCsvReportRow(results);
});
});
driver.quit();Sample Test #3 (all-in-one test for a single page)
var AxeBuilder = require('axe-webdriverjs'),
AxeReports = require('@ictu/axe-reports'),
webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('chrome') //or firefox or whichever driver you use
.build();
driver.get('https://www.google.com');
driver.wait(until.titleIs('Google'), 1000)
.then(function () {
AxeBuilder(driver)
.withTags(['wcag2a', 'wcag2aa']) // specify your test criteria (see aXe documentation for more info)
.analyze(function (results) {
AxeReports.createCsvReport(results);
});
});
driver.quit();Usage Example
node csv_testname
note: you will need to use the new processResults() functionOR
node csv_testname => results.csvOR
node tsv_testname => results.tsv1.1.11
7 years ago