@hideki_a/axe-reports

    1.5.0 • Public • Published

    aXe Reports

    Create human readable reports from the results object created by the aXe analyze function.
    Forked louis-reed/axe-reports.

    Getting Started

    Install aXe Reports

    npm install axe-reports
    

    Prerequisites

    Selenium WebDriver

    Require

    aXe Core

    aXe WebDriver JavaScript

    npm install selenium-webdriver
    
    npm install require
    
    npm install axe-core
    
    npm install axe-webdriverjs
    

    Installing

    Install aXe Reports

    npm install axe-reports
    

    Usage

    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);
    

    Sample Test #1 (create a test results file)

    var AxeBuilder = require('axe-webdriverjs'),
        AxeReports = require('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('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('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() function
    

    OR

    node csv_testname => results.csv
    

    OR

    node tsv_testname => results.tsv
    

    Authors

    License

    This project is licensed under the MIT License

    Acknowledgments

    Thanks to Deque for creating and supporting aXe!

    Install

    npm i @hideki_a/axe-reports

    DownloadsWeekly Downloads

    0

    Version

    1.5.0

    License

    MIT

    Unpacked Size

    28.4 kB

    Total Files

    5

    Last publish

    Collaborators

    • hideki_a