Manejo de errores en Ruby

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Cómo sortear errores provocados por axe DevTools Ruby 4.3

Las versiones 4.3.0 y superiores 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. Muchas de las cuestiones descritas 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úrese de que su 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: undefined

Tener 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 de automatización debería permitir ventanas emergentes. Asegúrese de no habilitar explícitamente los bloqueadores de ventanas emergentes que pueden causar un problema al ejecutar las pruebas.

Axe::Configuración.modo heredado

Si por alguna razón no puede analizar una página sin errores, axe proporciona un nuevo método encadenable que le permite ejecutar el procedimiento heredado. Al utilizar este método, axe excluye los problemas de accesibilidad que pueden ocurrir en marcos e iframes entre dominios.

note

Axe::Configuration.legacy_mode está obsoleto y se eliminará en la versión v5.0. Informe cualquier error que pueda tener al analizar una página para que podamos solucionarlo 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