pypom-axe is a PyPOM extension to integrate accessibility tests using the aXe API.
Project description
pypom-axe integrates the aXe accessibility testing API with PyPOM.
Requirements
You will need the following prerequisites in order to use pypom-axe:
Python 2.7 or 3.6
PyPOM >= 1.2.0
Installation
To install pypom-axe:
$ pip install pypom-axe
Usage
pypom-axe will run the aXe accessibility checks by default whenever its wait_for_page_to_load() method is called.
If you overload wait_for_page_to_load(), you will need to call super([YOUR CLASS NAME], self).wait_for_page_to_load() within your overloaded method.
You can disable accessibility tests by setting the environment variable ACCESSIBILITY_DISABLED to true.
You can enable output of the JSON results by setting the environment variable ACCESSIBILITY_REPORTING to true. This will output files to ./results/, which must be created if it does not already exist.
base.py
from pypom_axe.axe import AxePage as Page
class Base(Page):
def wait_for_page_to_load(self, context=None, options=None, impact=None):
super(Base, self).wait_for_page_to_load()
self.wait.until(lambda s: self.seed_url in s.current_url)
return self
You also have the option to customize the accessibility analysis using the parameters context, options, and impact.
context and options directly reflect the parameters used in axe-core. 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', 'serious' 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.
from pypom_axe.axe import AxePage as Page
class Base(Page):
def wait_for_page_to_load(self, context=None, options=None, impact=None):
super(Base, self).wait_for_page_to_load(None, None, 'serious')
self.wait.until(lambda s: self.seed_url in s.current_url)
return self
Resources
CHANGELOG
version 0.1.0
Enabled the use of two new environment variables.
ACCESSIBILITY_DISABLED=true will disable accessibility tests.
ACCESSIBILITY_REPORTING=false will enable the output of JSON results.
version 0.0.7
Modified impact_included class method to reflect changes to the aXe API:
There are now only 3 impact levels: 'critical', 'serious', and 'minor'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pypom-axe-0.1.1.tar.gz
.
File metadata
- Download URL: pypom-axe-0.1.1.tar.gz
- Upload date:
- Size: 64.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7110e60ce7d99c8006c64d478250786a8019f3ad77cb0a942644cee173fc68bc |
|
MD5 | 822e8860023dacbd9d622484cf279319 |
|
BLAKE2b-256 | 1421e0e214749c2ce7976b7d774b5ffb3e7ec516ed8380ee24ea9c5a52934d16 |
File details
Details for the file pypom_axe-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: pypom_axe-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 66.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 745b3ec435c862783bec3df25e3f22b002743b2624f7e1d99dc339953594fb2e |
|
MD5 | 91ac6a24aaeb4ad558992de4895a65f6 |
|
BLAKE2b-256 | c92df6728c9fa07e3d3b97d8742bfeed7a9056775563453eb597704dc552e289 |