Référence de l'API axe-devtools-unittest
Ce package fournit des assertions d'aide qui étendent unittest pour lui permettre de s'intégrer à axe DevTools.
Usage
Assurez-vous que la classe qui s'étend unittest.TestCase
s'étend également AxeAssertions
class MyTests(unittest.TestCase, AxeAssertions):
...
Fournit deux assertions :
assertIsAxeClean(results)
Prend un ensemble de résultats de axe et s'assure qu'il n'y a aucune violation. Lance un AssertionError
s'il y a
il y a des violations.
assertNoIncomplete(results)
Prend un ensemble de résultats de axe et s'assure qu'il n'y a pas de contrôles incomplets. Les vérifications incomplètes sont Ceux qui n'ont ni définitivement réussi ni échoué. Ils sont marqués de telle sorte pour indiquer qu'une action Une vérification est requise.
Exemple
L'exemple suivant peut être lancé directement avec Python en supposant que axe-devtools-api, axe-devtools-selenium et axe-devtools-unittest sont installés.
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()