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 Hilfe-Assertions, die unittest zur Integration mit Axe DevTools erweitern.

axe_devtools_unittest.AxeAssertions

Eine Mixin-Klasse, die Barrierefreiheits-Assertions zu unittest.TestCasehinzufügt. Die Testklasse muss sowohl unittest.TestCase als auch AxeAssertionserweitern.

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.

Löst AssertionError aus, wenn Verstöße vorliegen. Die Fehlermeldung enthält einen Verstöße-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.

Löst AssertionError aus, wenn eine der Überprüfungen unvollständig ist.

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, die auf nicht anwendbaren Status überprüft werden sollen.

Löst AssertionError aus, wenn keine der angegebenen Regeln in den nicht anwendbaren Ergebnissen enthalten ist.

Beispiel

Das folgende Beispiel kann direkt mit Python ausgeführt werden, vorausgesetzt, axe-devtools-api, axe-devtools-seleniumund 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()