accessibility testing using webdriverjs and chrome accessibility developer tools
npm install webdriverjs-accessibilitywebdriverjs-accessibility
=======================
webdriverjs-accessibility is a node.js library that helps run accessibility audits using [webdriverjs][1] and [GoogleChrome accessibility-developer-tools][2].
webdriverjs-accessibility relies on [GoogleChrome accessibility-developer-tools][2] to run the audit. Once the audit run is complete, the library returns an object which contains accessibility results. The tool also takes a screenshot of webpage under tests and marks errors and warnings.
Currently errors are bordered with red and warnings with yellow. The screenshot object is also returned as part of the returning object. See more details below.
This project is decoupled from Webdriver project in the sense that user would need to pass along a WebDriver object.
Include the library in your project
``bash`
npm install webdriverjs-accessibility --save-dev
`javascript`
const accessibility = require('webdriverjs-accessibility');
const webdriver = require('selenium-webdriver');
const fs = require('fs');
const driver = new webdriver.Builder()
.forBrowser('firefox')
.build();
driver.get('http://www.netflix.com')
.then(function () {
accessibility.runAccessibilityAudit(webdriver, driver).then(function (results) {
console.log(results.results);
driver.takeScreenshot().then(function (screenImg) {
fs.writeFile('screenshot.png', screenImg, {
'encoding': 'base64'
}, function (err) {
if (err) {
console.log(err);
} else {
console.log('Successfully took screen shot');
}
});
});
});
});
before running the tests$3
runAccessibilityAudit(webdriver, driver)@argument webdriver Please check here
@argument driver Please check here@returns {Promise} resolves to an Object {results: {error: errors, warning: warnings}, screenshot:byte[]}`Fork the project and submit pull request if you like to add a feature/fix bugs etc.
Disclaimer: I am no accessibility expert. I am open for suggestions.
Please provide necessary details to reproduce the issue and open them as appropriate
Excellent API by [GoogleChrome accessibility-developer-tools][2]
Twitter: @nileshdk
Email: nilesh.cric@gmail.com
[1]: https://github.com/SeleniumHQ/selenium/wiki/WebDriverJs "webdriverjs"
[2]: https://github.com/GoogleChrome/accessibility-developer-tools "GoogleChrome accessibility-developer-tools"