Gestione errori Ruby
Come aggirare gli errori causati da axe DevTools Ruby 4.3
La versione 4.3.0 e successive delle integrazioni di axe DevTools utilizzano una nuova tecnica durante l'analisi di una pagina, 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
. Per 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 durante l'analisi di una pagina. La configurazione predefinita per la maggior parte delle librerie di test di automazione dovrebbe consentire i popup. Assicuratevi di non abilitare esplicitamente i blocchi popup, poiché potrebbero causare problemi durante l'esecuzione dei test.
Axe::Configuration.legacy_mode
Se per qualche motivo non è possibile analizzare una pagina senza errori, axe fornisce un nuovo metodo concatenabile che consente di eseguire la procedura legacy. Utilizzando questo metodo, axe esclude i problemi di accessibilità che potrebbero verificarsi nei frame e negli iframe cross-domain.
Axe::Configuration.legacy_mode
è obsoleto e verrà rimosso nella versione 5.0. Segnala eventuali errori riscontrati durante l'analisi di una pagina, in modo che possano essere corretti prima che la versione precedente venga rimossa.
Esempio
require "axe/core"
def analyze_page
...
end
def open_page
...
end
webdriver = open_page
Axe::Configuration.instance.legacy_mode = true
results = analyze_page