Gestione degli errori in Ruby
Risoluzione dei problemi comuni riscontrati quando si utilizza Axe DevTools for Web per 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 nell'analisi di una pagina, che apre una nuova finestra al termine di un'analisi. Molti dei problemi descritti in questo documento affrontano problemi comuni con questa tecnica e le loro potenziali 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. Ad esempio:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedBlocchi 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 automatici dovrebbe consentire i popup. Assicurati di non abilitare esplicitamente i blocchi popup che potrebbero causare problemi durante l'esecuzione dei test.
Axe::Configuration.legacy_mode
Se per qualche motivo non riesci ad analizzare una pagina senza errori, axe fornisce un nuovo metodo concatenabile che consente di eseguire la procedura legacy. Quando si utilizza questo metodo, axe esclude i problemi di accessibilità che possono verificarsi nei frame e iframes su domini diversi.
Axe::Configuration.legacy_mode è deprecato e verrà rimosso nella versione 5.0. Si prega di segnalare eventuali errori che si possono verificare durante l'analisi di una pagina in modo che possano essere risolti prima che la versione legacy 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