Manejo de errores en Ruby
Solución de problemas comunes al usar Axe DevTools para Web en Ruby
Cómo solucionar errores causados por Axe DevTools Ruby 4.3
La versión 4.3.0 y posteriores de las integraciones de Axe DevTools utilizan una nueva técnica al analizar una página, que abre una nueva ventana al final de una ejecución. Muchos de los problemas descritos en este documento abordan problemas comunes con esta técnica y sus posibles soluciones.
Tener un controlador desactualizado
Un problema común es tener un controlador desactualizado. Para solucionar este problema, asegúrate de que tu instalación local de geckodriver o chromedriver esté actualizada.
Un mensaje de error de ejemplo para este problema incluirá un mensaje sobre switchToWindow. Por ejemplo:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedTener bloqueadores de ventanas emergentes habilitados
Los bloqueadores de ventanas emergentes nos impiden abrir una nueva ventana al analizar una página. La configuración predeterminada para la mayoría de las bibliotecas de pruebas automatizadas debería permitir ventanas emergentes. Asegúrate de no habilitar explícitamente bloqueadores de ventanas emergentes que puedan causar un problema al ejecutar las pruebas.
Axe::Configuration.legacy_mode
Si por alguna razón no puedes analizar una página sin errores, axe proporciona un nuevo método encadenable que te permite ejecutar el procedimiento heredado. Al usar este método, axe excluye problemas de accesibilidad que pueden ocurrir en frames y iframes de dominios cruzados.
Axe::Configuration.legacy_mode está obsoleto y será eliminado en la versión 5.0. Por favor, informa cualquier error que puedas tener al analizar una página para que puedan solucionarse antes de que se elimine la versión heredada.
Ejemplo
require "axe/core"
def analyze_page
...
end
def open_page
...
end
webdriver = open_page
Axe::Configuration.instance.legacy_mode = true
results = analyze_page