Python-API-Übersicht

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

Übersicht über Axe DevTools für Web für Python, einschließlich verfügbarer Pakete und Integrationen von Testframeworks

Not for use with personal data

Axe DevTools Python umfasst:

  • axe-core Version 4
  • Unterstützung für Python 3 (unterstützt Python 2 nicht)
  • unittest, Robot Framework, auf Behave basierende Testeinrichtungen sowie jedes andere Framework, das asserts verwendet

Standardmäßig erfolgt der Scan gegen WCAG 2.1 Level AA, wobei Best-Practice- und experimentelle Regeln deaktiviert sind. Siehe Regeln anpassen, um das Regelset zu ändern oder Best Practices zu aktivieren.

Voraussetzungen

Axe DevTools erfordert eine Selenium-WebDriver-Bindung für einen Browser Ihrer Wahl. Um Axe DevTools zu verwenden, müssen Sie zuerst Selenium WebDriver installieren und konfigurieren.

Beschreibung

Axe DevTools besteht aus mehreren Teilen. Das Kernpaket ist axe-devtools-api, das die Logik zur Konfiguration und Ausführung von axe bereitstellt. axe-devtools-selenium wird verwendet, um axe-devtools-api tatsächlich mit Browsern kommunizieren zu lassen.

Es gibt drei Integrationen mit Testframeworks.

axe-devtools-unittest ist eine schlanke Assertionsbibliothek für unittest, die auf axe-devtools-api aufsetzt. Bei der Verwendung dieser Integration müssen Sie axe-devtools-api als Abhängigkeit deklarieren und direkt verwenden.

axe-devtools-robot integriert Axe DevTools mit dem Robot Framework. axe-devtools-api und axe-devtools-selenium werden automatisch als Abhängigkeiten eingebunden. Sie werden jedoch mit keinem interagieren. Stattdessen wird die Integration Ihre .robot-Datei verwenden, um axe zu betreiben.

axe-devtools-behave integriert Axe DevTools mit behave, einem Cucumber-ähnlichen Testframework. axe-devtools-api und axe-devtools-selenium werden automatisch als Abhängigkeiten eingebunden. Sie werden jedoch mit keinem interagieren. Stattdessen wird die Integration Ihre .feature-Datei verwenden, um axe zu betreiben.

Benutzerdefinierte Elemente und ElementInternals

Ab Axe DevTools Python 4.13.0 lesen die Scans die ARIA-Semantik, die Webkomponenten in JavaScript über ElementInternals deklarieren, anstatt nur die im Markup vorhandenen role- und aria-*-Attribute. Keine Konfiguration ist erforderlich. Die Semantik im DOM hat weiterhin Vorrang: Ein explizites role oder aria-*-Attribut auf dem Element überschreibt den Wert von ElementInternals.

Ihre Komponenten müssen ihre Interna veröffentlichen, damit dies wirksam wird, und eine Komponente, die sie in einem privaten Klassenfeld speichert, kann nicht gelesen werden. Siehe Testen von benutzerdefinierten Elementen, die ElementInternals verwenden.