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
Not for use with personal data

Dieses Paket bietet Hilfsbehauptungen, die unittest erweitern, um die Integration mit axe DevTools zu ermöglichen.

Verwendung

Stellen Sie sicher, dass die Klasse, die erweitert, unittest.TestCase auch erweitert AxeAssertions

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

Bietet zwei Assertions:

  • assertIsAxeClean(results)

Nimmt eine Reihe von axe-Ergebnissen und stellt sicher, dass keine Verstöße vorliegen. Wirft ein AssertionError wenn es Es gibt Verstöße.

  • assertNoIncomplete(results)

Nimmt einen Satz von axe-Ergebnissen und stellt sicher, dass keine unvollständigen Prüfungen vorhanden sind. Unvollständige Kontrollen sind es Diejenigen, die weder endgültig bestanden noch durchgefallen sind. Sie sind so gekennzeichnet, um anzuzeigen, dass eine manuelle Überprüfung ist erforderlich.

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