axe-devtools-unittest API-Referenz

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-Referenz für das axe-devtools-unittest-Paket, das Barrierefreiheits-Assertions für Unittest bereitstellt

Not for use with personal data

Dieses Paket bietet Hilfsbehauptungen, die unittest erweitern, um sich in Axe DevTools zu integrieren.

axe_devtools_unittest.AxeAssertions

Eine Mixin-Klasse, die Barrierefreiheitsbehauptungen zu unittest.TestCase hinzufügt. Die Testklasse muss sowohl unittest.TestCase als auch AxeAssertions erweitern.

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

assertIsAxeClean(results)

Stellen Sie sicher, dass axe-core keine Verstöße gefunden hat.

results: Das von Axe.analyze() zurückgegebene Ergebnisobjekt.

Wirft AssertionError, wenn es Verstöße gibt. Die Fehlermeldung enthält einen Verstoßbericht.

assertNoIncomplete(results)

Stellen Sie sicher, dass axe-core alle versuchten Überprüfungen abgeschlossen hat.

Unvollständige Überprüfungen sind solche, die weder eindeutig bestanden noch fehlgeschlagen sind und eine manuelle Überprüfung erfordern.

results: Das von Axe.analyze() zurückgegebene Ergebnisobjekt.

Wirft AssertionError, wenn irgendwelche Prüfungen unvollständig sind.

assertInapplicable(results, *rules)

Stellen Sie sicher, dass die angegebenen Regeln zu nicht anwendbaren Ergebnissen führten.

results: Das von Axe.analyze() zurückgegebene Ergebnisobjekt.

rules: Eine oder mehrere Regel-IDs, um auf nicht anwendbaren Status zu prüfen.

Wirft AssertionError, wenn eine der angegebenen Regeln nicht in den nicht anwendbaren Ergebnissen enthalten ist.

Beispiel

Das folgende Beispiel kann direkt mit Python ausgeführt werden, vorausgesetzt, axe-devtools-api, axe-devtools-selenium und axe-devtools-unittest sind installiert.

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()