axe-devtools-unittest API-referentie

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

API-referentie voor het axe-devtools-unittest pakket dat toegankelijkheidsasserties biedt voor unittest

Not for use with personal data

Dit pakket biedt helperasserties die uitbreiden unittest om te integreren met Axe DevTools.

axe_devtools_unittest.AxeAssertions

Een mixin-klasse die toegankelijkheidsasserties toevoegt aan unittest.TestCase. De testklasse moet zowel uitbreiden als unittest.TestCase en AxeAssertions.

class MyTests(unittest.TestCase, AxeAssertions):
    ...

assertIsAxeClean(results)

Bevestig dat axe-core geen overtredingen heeft gevonden.

results: Het door Axe.analyze()geretourneerde resultatenobject.

Geeft een foutmelding AssertionError als er overtredingen zijn. Het foutbericht bevat een overtredingsrapport.

assertNoIncomplete(results)

Bevestig dat alle door axe-core uitgevoerde controles zijn voltooid.

Niet-voltooide controles zijn die welke noch definitief geslaagd noch definitief mislukt zijn en handmatige controle vereisen.

results: Het door Axe.analyze()geretourneerde resultatenobject.

Geeft een foutmelding AssertionError als er onvoltooide controles zijn.

assertInapplicable(results, *rules)

Bevestig dat de opgegeven regels niet-toepasbare resultaten hebben opgeleverd.

results: Het door Axe.analyze()geretourneerde resultatenobject.

rules: Een of meer regel-ID's om te controleren op niet-toepasbare status.

Geeft een foutmelding AssertionError als een van de opgegeven regels niet in de niet-toepasbare resultaten zit.

Voorbeeld

Het volgende voorbeeld kan direct worden uitgevoerd met Python, mits axe-devtools-api, axe-devtools-selenium, en axe-devtools-unittest zijn geïnstalleerd.

import unittest
from os import path
from axe_devtools_api import Axe
from axe_devtools_selenium import AxeDriver
from axe_devtools_unittest import AxeAssertions
from selenium import webdriver

class TestAxe(unittest.TestCase, AxeAssertions):
    def setUp(self):
        self.page = webdriver.Chrome()
        self.page.get("http://localhost:8000/example-page.html")
        self.axe = Axe(AxeDriver(self.page))

    def test_run_axe(self):
        res = self.axe.analyze()
        assert res.is_axe_clean(), res.violations_report()

    def test_with_rules(self):
        res = self.axe \
            .with_rules("document-title", "label") \
            .with_rules("region") \
            .analyze()
        self.assertNoIncomplete(res)
        self.assertIsAxeClean(res)

    def test_including_within_frame(self):
        res = self.axe \
            .including("#my-frame", "body") \
            .analyze()
        self.assertNoIncomplete(res)
        self.assertIsAxeClean(res)

if __name__ == '__main__':
    unittest.main()