helen-dikareva / axe-testcafe

The helper for using Axe in TestCafe tests
36 stars 13 forks source link
accessibility axe e2e end-to-end-testing functional-testing test testcafe testing-tools web-accessibility

axe-testcafe

The TestCafe module that allows you to use the aXe accessibility engine in TestCafe tests.

Installation

npm install axe-core axe-testcafe --save-dev

How to use

You can write a TestCafe test with automated accessibility checks like this.

import { axeCheck, createReport } from 'axe-testcafe';

fixture `TestCafe tests with Axe`
    .page `http://example.com`;

test('Automated accessibility testing', async t => {
    const { error, violations } = await axeCheck(t);
    await t.expect(violations.length === 0).ok(createReport(violations));
});

If any accessibility issues are found, you will see a detailed report generated by the createReport function.

Accessibility errors

aXe options

The axe-testcafe module allows you to define the context and options axe.run parameters in a TestCafe test.


test('Automated accessibility testing', async () => {
    const axeContext = { exclude: [['select']] };
    const axeOptions = { rules: { 'html-has-lang': { enabled: false } } };
    const { error, violations } = await axeCheck(t, axeContext, axeOptions);
    await t.expect(violations.length === 0).ok(createReport(violations));
});