Python API Overzicht
Overzicht van Axe DevTools voor Web voor Python, inclusief beschikbare pakketten en integraties met testframeworks
Axe DevTools Python omvat:
- axe-core versie 4
- Ondersteuning voor Python 3 (ondersteunt Python 2 niet)
- unittest-, robot framework- en behave-gebaseerde testopstellingen, evenals elk ander framework dat
asserts gebruikt
Scans worden standaard uitgevoerd volgens WCAG 2.1 Level AA, met best practice- en experimentele regels uitgeschakeld. Zie Regels aanpassen om de regelset te wijzigen of best practices in te schakelen.
Vereisten
Axe DevTools vereist een Selenium WebDriver-binding voor een browser naar keuze. Om Axe DevTools te gebruiken, moet u eerst Selenium WebDriver installeren en configureren.
Beschrijving
Axe DevTools bestaat uit meerdere delen. Het kernpakket is axe-devtools-api, dat de logica biedt voor het configureren en uitvoeren van axe. axe-devtools-selenium wordt gebruikt om axe-devtools-api daadwerkelijk te laten communiceren met browsers.
Er zijn drie integraties met testframeworks.
axe-devtools-unittest is een lichte assertiebibliotheek voor unittest die bovenop axe-devtools-api zit. Bij het gebruik van deze integratie moet u axe-devtools-api als een afhankelijkheid declareren en deze direct gebruiken.
axe-devtools-robot integreert Axe DevTools met de Robot Framework. axe-devtools-api en axe-devtools-selenium worden automatisch meegenomen als afhankelijkheden. U zult echter niet met een van beide communiceren. In plaats daarvan zal de integratie gebruik maken van uw .robot-bestand om axe te bedienen.
axe-devtools-behave integreert Axe DevTools met behave, een cucumber-achtig testframework. axe-devtools-api en axe-devtools-selenium worden automatisch meegenomen als afhankelijkheden. U zult echter niet met een van beide communiceren. In plaats daarvan zal de integratie gebruik maken van uw .feature-bestand om axe te bedienen.
Aangepaste elementen en ElementInternals
Vanaf Axe DevTools Python 4.13.0 lezen scans de ARIA-semantieken die webcomponenten in JavaScript verklaren via ElementInternals, in plaats van alleen de role- en aria-*-attributen die in de markup aanwezig zijn. Er is geen configuratie nodig. Semantiek in de DOM heeft nog steeds voorrang: een expliciet role- of aria-*-attribuut op het element overschrijft de waarde van ElementInternals.
Uw componenten moeten hun internals publiceren voordat dit effect kan hebben, en een component die deze in een privé klasseveld opslaat kan niet worden gelezen. Zie Aangepaste elementen testen die ElementInternals gebruiken.
