Python-Errorafhandeling in Axe DevTools voor Web
Verklaart hoe errorafhandeling in Axe DevTools voor Web met Python werkt
Hoe om te gaan met fouten veroorzaakt door Axe DevTools Python 4.3
Versie 4.3.0 en hoger van de Axe DevTools-integraties gebruiken een nieuwe techniek bij het aanroepen van Axe.analyze(), die aan het einde van een run een nieuw venster opent. Veel van de problemen die in dit document worden beschreven, behandelen veelvoorkomende problemen met deze techniek en hun mogelijke oplossingen.
Een Verouderde Stuurprogramma
Een veelvoorkomend probleem is het hebben van een verouderd stuurprogramma. Om dit probleem op te lossen, zorgt u ervoor dat uw lokale installatie van geckodriver of chromedriver up-to-date is.
Een voorbeeld van een foutmelding voor dit probleem zal een bericht over switchToWindow bevatten.
Voorbeeld:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedHet Ingeschakeld Hebben van Pop-upblokkeringen
Pop-upblokkeringen voorkomen dat we het nieuwe venster kunnen openen bij het aanroepen van Axe.analyze(). De standaardconfiguratie van de meeste automatiseringstestbibliotheken moet pop-ups toestaan. Zorg ervoor dat u pop-upblokkeringen niet expliciet inschakelt, aangezien dit problemen kan veroorzaken tijdens het uitvoeren van de tests.
Axe.set_legacy_mode()
Als u de nieuwe Axe.analyze()-techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe koppelbare methode om de legacy-versie van Axe.analyze() uit te voeren. Bij het gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die kunnen optreden in cross-domain frames en iframes.
Axe.set_legacy_mode() is verouderd en zal worden verwijderd in v5.0. Meld a.u.b. eventuele fouten die u tegenkomt bij het uitvoeren van Axe.analyze(), zodat deze kunnen worden opgelost voordat de legacy-versie wordt verwijderd.
Voorbeeld
from axe_devtools_api import Axe
driver = ... # open webdriver and go to your page
results = Axe(driver).set_legacy_mode().analyze()