2.0.0 • Published 7 years ago

webdriverjs-accessibility v2.0.0

Weekly downloads
2
License
ISC
Repository
-
Last release
7 years ago

webdriverjs-accessibility

webdriverjs-accessibility is a node.js library that helps run accessibility audits using webdriverjs and GoogleChrome accessibility-developer-tools.

webdriverjs-accessibility relies on GoogleChrome accessibility-developer-tools 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.

How to use

Include the library in your project

npm install webdriverjs-accessibility --save-dev
   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');
                       }
                   });
               });
           });
       });

Logging

For more logging just set environment variable DEBUG=accessibility* before running the tests

API

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[]}

Example

Please check the example here

Sample Screenshot

Screen shot

Contributing:

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.

Issues

Please provide necessary details to reproduce the issue and open them as appropriate

Credits

Excellent API by GoogleChrome accessibility-developer-tools

Contact

Twitter: @nileshdk

Email: nilesh.cric@gmail.com