Instrucciones para WebDriverJS y TypeScript
Configurando tus pruebas con WebDriverJS y TypeScript
Axe Watcher requiere un navegador compatible ya instalado en su sistema: Chrome para pruebas (una instalación de navegador separada, diferente de Google Chrome), Chromium o Microsoft Edge. Google Chrome, versión 139 o posterior, no es compatible. Consulte Instalación y Configuración de Navegadores para Usar con Axe Watcher para obtener instrucciones de instalación y configuración.
-
En el nivel raíz de tu carpeta de pruebas, instala el paquete
@axe-core/watchery todas sus dependencias usandonpmo tu gestor de paquetes preferido (por ejemplo,yarnopnpm).npm install --save-dev @axe-core/watcher -
En tu archivo o archivos de prueba, importa la función
webdriverConfig(), la funciónwrapWebdriver()y la claseWebdriverControllerde@axe-core/watcher/webdriver:import { webdriverConfig, wrapWebdriver, WebdriverController } from '@axe-core/watcher/webdriver' -
Actualiza tu código de configuración de prueba (típicamente en un bloque
beforeobeforeAll), especificando las opciones de Chrome al instanciar tu instanciabrowser, proporcionando tu clave API:// Original code: const browser = await new Builder() .forBrowser('chrome') .build() // Becomes: const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY const PROJECT_ID = process.env.PROJECT_ID const SERVER_URL = process.env.SERVER_URL const browser = await new Builder() .forBrowser('chrome') .setChromeOptions( webdriverConfig({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID, serverURL: SERVER_URL } } ) .build()Asegúrate de configurar
ACCESSIBILITY_API_KEYyPROJECT_IDen tu entorno con tu clave de API personal (que se encuentra en tu cuenta de Axe, pestaña API KEYS) y tu ID de proyecto (mostrado en la parte superior de estas instrucciones cuando creaste tu proyecto o disponible en la página de Proyectos eligiendo Configurar proyecto en Configuración). Si tu organización utiliza una instancia local, privada o en la nube regional de Axe Developer Hub, también configuraSERVER_URLcon la URL base de esa instancia (por ejemplo,https://axe-eu.deque.com); de lo contrario, omiteSERVER_URLy se usará elhttps://axe.deque.compredeterminado. -
Crea una instancia del
WebdriverController:const controller = new WebdriverController(browser)noteSi habilita captura de pantalla (
takeScreenshots: true), tenga en cuenta queWebdriverControllerno implementa la captura de pantalla en@axe-core/watcher4.6.0. Para capturar capturas de pantalla, subclaseWebdriverController, sobrescribacaptureScreenshot()para llamar al métodotakeScreenshot()propio de Selenium y cree una instancia de su subclase en su lugar:class ScreenshotWebdriverController extends WebdriverController { async captureScreenshot() { return await this.driver.takeScreenshot() } } const controller = new ScreenshotWebdriverController(browser) -
Envuelve tu instancia
browsercon la funciónwrapWebdriver():browser = wrapWebdriver(browser, controller) -
Finalmente, asegúrese de que se eliminen todos los resultados de prueba de Axe Watcher. Para hacerlo, agregue el siguiente bloque de código a su código de finalización de pruebas (típicamente en un bloque
afterEach):afterEach(async () => { await controller.flush() })
