Clase AxeWatcher
La clase principal para integrar las pruebas de accesibilidad de axe en los conjuntos de pruebas de Selenium Java (use AxeWatcherPlaywright para Playwright)
La clase AxeWatcher es el componente principal de la integración de Axe Watcher Selenium Java, lo que te permite agregar fácilmente pruebas de accesibilidad a tus suites de pruebas de extremo a extremo existentes. Esta clase proporciona métodos para configurar opciones del navegador y envolver instancias de WebDriver para habilitar el análisis de accesibilidad durante las pruebas automatizadas.
configure() y wrapDriver() proporcionan cada uno una sobrecarga por navegador: pasa ChromeOptions y ChromeDriver para probar en Chrome para Testing o Chromium, o EdgeOptions y EdgeDriver para probar en Microsoft Edge. Microsoft Edge requiere Watcher 4.5.1 o posterior y Selenium 4 o posterior.
Cuando se integra en tu marco de pruebas, Axe Watcher:
- Analiza automáticamente las páginas web en busca de problemas de accesibilidad cuando se ejecutan las pruebas
- Reanaliza las páginas al detectar cambios en el DOM
- Vincula los commits de Git a los resultados de accesibilidad
- Envía resultados de accesibilidad a Axe Developer Hub para seguimiento y análisis
Constructor
AxeWatcher(AxeWatcherOptions options)
Crea una nueva instancia de AxeWatcher con las opciones especificadas.
Parámetros:
options- Las opciones de configuración para Axe Watcher
Ejemplo:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("your-api-key-here")
.setProjectId("your-project-ID-here")
.setServerUrl("https://axe.deque.com");
AxeWatcher watcher = new AxeWatcher(options);Métodos
configure(ChromeOptions chromeOptions)
Configura ChromeOptions para habilitar pruebas de accesibilidad con Axe Watcher.
Este método debe llamarse antes de crear una instancia de ChromeDriver.
Parámetros:
chromeOptions- La instancia existente deChromeOptionsa configurar
Devuelve:
- Una nueva instancia de
ChromeOptionscon la configuración de Axe Watcher aplicada
Lanza excepción:
IllegalArgumentException- Si el modo sin cabeza o de incógnito está habilitado (Axe Watcher no admite estos modos)
Ejemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
// Add any additional Chrome options here
ChromeOptions configuredOptions = watcher.configure(chromeOptions);
// Now create ChromeDriver with the configured options
ChromeDriver driver = new ChromeDriver(configuredOptions);configure(EdgeOptions edgeOptions)
Configura EdgeOptions para habilitar pruebas de accesibilidad con Axe Watcher en Microsoft Edge.
Este método debe llamarse antes de crear una instancia de EdgeDriver. Microsoft Edge requiere Selenium 4 o posterior.
Parámetros:
edgeOptions- La instancia existente deEdgeOptionsa configurar
Devuelve:
- Una nueva instancia de
EdgeOptionscon la configuración de Axe Watcher aplicada. Solo se trasladan los argumentos de la línea de comandos y la ruta binaria de la instancia que pasas, por lo tanto, establece cualquier otro capacidad en la instancia devuelta antes de construir elEdgeDriver.
Lanza excepción:
IllegalArgumentException- Si el modo sin cabeza o de incógnito está habilitado (Axe Watcher no admite estos modos)IllegalStateException- Si tu proyecto utiliza una versión deselenium-javaanterior a la 4. ElEdgeOptionsde Selenium 3 se dirige al navegador heredado EdgeHTML, el cual no es compatible con Axe Watcher.
Ejemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = new EdgeOptions();
// configure() carries over the arguments and the binary path set here;
// set any other capabilities on the returned instance instead
edgeOptions.addArguments("--window-size=1280,720");
EdgeOptions configuredOptions = watcher.configure(edgeOptions);
// Now create EdgeDriver with the configured options
EdgeDriver driver = new EdgeDriver(configuredOptions);wrapDriver(ChromeDriver chromeDriver)
Envuelve una instancia de ChromeDriver para habilitar la funcionalidad de pruebas de accesibilidad.
Este método debe llamarse después de que configure() haya sido utilizado para configurar el ChromeDriver.
Parámetros:
chromeDriver- La instancia deChromeDrivera envolver
Devuelve:
- Una instancia de
WebDriverenvuelta con la funcionalidad de pruebas de accesibilidad habilitada
Lanza excepción:
RuntimeException- Siconfigure()no fue llamado antes de este método
Ejemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = watcher.configure(new ChromeOptions());
ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
// Wrap the ChromeDriver
WebDriver driver = watcher.wrapDriver(chromeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");wrapDriver(EdgeDriver edgeDriver)
Envuelve una instancia de EdgeDriver para habilitar la funcionalidad de pruebas de accesibilidad.
Este método debe llamarse después de que configure() haya sido utilizado para configurar el EdgeDriver.
Parámetros:
edgeDriver- La instancia deEdgeDrivera envolver
Devuelve:
- Una instancia de
WebDriverenvuelta con la funcionalidad de pruebas de accesibilidad habilitada
Lanza excepción:
RuntimeException- Siconfigure()no fue llamado antes de este método
Ejemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = watcher.configure(new EdgeOptions());
EdgeDriver edgeDriver = new EdgeDriver(edgeOptions);
// Wrap the EdgeDriver
WebDriver driver = watcher.wrapDriver(edgeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");enableDebugLogger()
Habilita el registro de depuración para las operaciones de Axe Watcher. Esto puede ser útil para solucionar problemas durante el desarrollo de pruebas.
Devuelve:
- La instancia actual de
AxeWatcherpara encadenamiento de métodos
Ejemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options).enableDebugLogger();Notas y Limitaciones
- Axe Watcher no admite el modo completamente sin cabeza. Usa
--headless=newen lugar de--headlesssi necesitas operación sin cabeza. - Axe Watcher no admite el modo de incógnito.
- Debes llamar a
configure()antes de crear una instancia deChromeDriveroEdgeDriver. - Debes llamar a
wrapDriver()después de crear la instancia deChromeDriveroEdgeDriver. - Microsoft Edge requiere Watcher 4.5.1 o posterior y Selenium 4 o posterior. La ruta de Chrome (
ChromeOptions/ChromeDriver, utilizada con Chrome para Testing o Chromium) es compatible con Selenium 3.141.59 y posterior. - Llama a
flush()en elaxeWatcher()del controlador envuelto en tu desmontaje de prueba para asegurar que todos los resultados se envíen a Axe Developer Hub.
