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 Axe DevTools utilizza una nuova tecnica quando chiama Axe.analyze(), che apre una nuova finestra al termine di un'esecuzione. Molti dei problemi descritti in questo documento trattano problemi comuni con questa tecnica e le loro possibili soluzioni.
Driver Obsoleto
Un problema comune è avere un driver obsoleto. Per risolvere questo problema, assicurati che la tua 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: undefinedBlocco popup abilitato
I blocchi popup ci impediscono di aprire la nuova finestra quando si chiama Axe.analyze(). La configurazione predefinita per la maggior parte delle librerie di test automatizzati dovrebbe consentire i popup. Assicurati di non abilitare esplicitamente i blocchi popup, che potrebbero causare un problema durante l'esecuzione dei test.
Axe.set_legacy_mode()
Se non riesci a eseguire la nuova tecnica Axe.analyze() 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 possono verificarsi in frame cross-domain e iframe.
Axe.set_legacy_mode() è deprecato e sarà rimosso nella versione 5.0. Si prega di segnalare eventuali errori che si potrebbero riscontrare durante l'esecuzione di Axe.analyze(), in modo che possano essere risolti prima che la versione legacy venga rimossa.
Esempio
from axe_devtools_api import Axe
driver = ... # open webdriver and go to your page
results = Axe(driver).set_legacy_mode().analyze()