Create human readable reports from the results object created by the aXe analyze function.
npm install @ictu/axe-reports
Selenium WebDriver
Require
aXe Core
aXe WebDriver JavaScript
npm install selenium-webdriver
npm install require
npm install axe-core
npm install axe-webdriverjs
npm install @ictu/axe-reports
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 not
OR
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);
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();
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();
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();
node csv_testname
note: you will need to use the new processResults() function
OR
node csv_testname => results.csv
OR
node tsv_testname => results.tsv