Skip to main content

Python library to integrate axe and selenium for web accessibility testing.

Project description

axe-selenium-python integrates aXe and selenium to enable automated web accessibility testing.

License PyPI wheel Travis Issues

Requirements

You will need the following prerequisites in order to use axe-selenium-python:

Optional

  • tox

Installation

To install axe-selenium-python:

$ pip install axe-selenium-python

To install pytest-axe:

$ pip install pytest-axe

Usage

test_accessibility.py

import pytest

 @pytest.mark.nondestructive
 def test_header_accessibility(axe):
     violations = axe.run('header', None, 'critical')
     assert len(violations) == 0, axe.report(violations)

The above example runs aXe against only the content within the <header> tag, and filters for violations labeled critical.

The method axe.run() accepts three parameters: context, options, and impact.

For more information on context and options, view the aXe documentation here.

The third parameter, impact, allows you to filter violations by their impact level. The options are critical, severe, moderate, and minor, with the default value set to None.

This will filter violations for the impact level specified, and all violations with a higher impact level.

To run the above test you will need to specify the browser instance to be invoked, and the base_url.

$ pytest --base-url http://www.mozilla.com --driver Firefox test_accessibility.py

Resources

CHANGELOG

version 1.0.0

  • Updated usage examples in README
  • Added docstrings to methods lacking documentation
  • Removed unused files

version 0.0.3

  • Added run method to Axe class to simplify the usage in existing test suites
  • run method includes the ability to set what impact level to test for: ‘minor’, ‘moderate’, ‘severe’, ‘critical’

version 0.0.276

  • Added pytest-axe usage example to README

version 0.0.275

  • Added usage example to README

version 0.0.273

  • Added selenium instance as a class attribute
  • Changed file paths to OS independent structure
  • Fixed file read operations to use with keyword

version 0.0.21

  • Fixed include of aXe API file and references to it
  • Updated README

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
axe_selenium_python-1.1.4-py2.py3-none-any.whl (66.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3
axe-selenium-python-1.1.4.tar.gz (64.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page