Référence de l'API axe-devtools-unittest

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

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