Gestione degli errori Python in axe DevTools per Web
Spiega come funziona la gestione degli errori in axe DevTools per Web con Python
Come aggirare gli errori causati da axe DevTools Python 4.3
La versione 4.3.0 e successive delle integrazioni di axe DevTools utilizzano una nuova tecnica quando si chiama Axe.analyze()
, che apre una nuova finestra al termine di un'esecuzione. Molti degli argomenti trattati in questo documento riguardano problemi comuni di questa tecnica e le loro possibili soluzioni.
Driver obsoleto
Un problema comune è avere un driver obsoleto. Per risolvere questo problema, assicurati che l'installazione locale di geckodriver o chromedriver sia aggiornata.
Un esempio di messaggio di errore per questo problema includerà un messaggio su switchToWindow
.
Esempio:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefined
Blocchi popup abilitati
I blocchi popup ci impediscono di aprire una nuova finestra quando chiamiamo Axe.analyze()
. La configurazione predefinita per la maggior parte delle librerie di test di automazione dovrebbe consentire i popup. Assicuratevi di non abilitare esplicitamente i blocchi dei popup, poiché potrebbero causare problemi durante l'esecuzione dei test.
Axe.set_legacy_mode()
Se non è possibile eseguire la nuova Axe.analyze()
tecnica senza errori, axe fornisce un nuovo metodo concatenabile per eseguire la versione legacy di Axe.analyze()
. Utilizzando questo metodo, axe esclude i problemi di accessibilità che potrebbero verificarsi nei frame e negli iframe cross-domain.
Axe.set_legacy_mode()
è obsoleto e verrà rimosso nella versione 5.0. Segnala eventuali errori riscontrati durante l'esecuzione Axe.analyze()
in modo che possano essere risolti prima che la versione precedente venga rimossa.
Esempio
from axe_devtools_api import Axe
driver = ... # open webdriver and go to your page
results = Axe(driver).set_legacy_mode().analyze()