Instrucciones para Java y Playwright
Configuración de tus pruebas con Java y Playwright
-
Agrega una nueva dependencia para el paquete Java Watcher en la sección de dependencias de tu
pom.xml(para Maven) (el paquete Java Watcher está disponible en Maven Central):<dependencies> <!-- Add this dependency: --> <dependency> <groupId>com.deque.axe_core</groupId> <artifactId>watcher</artifactId> <version>4.4.0</version> <!-- Update this as needed --> </dependency> </dependencies> -
Añade las importaciones para Java Watcher en tu código de prueba:
import com.deque.axe_core.commons.AxeWatcherOptions; import com.deque.axe_core.playwright.AxeWatcherPlaywright; import com.deque.axe_core.playwright.AxeWatcherPage; -
Agrega el código de configuración para Java Watcher, incluyendo tu clave API personal y el ID del proyecto (ambos almacenados en el entorno para seguridad y flexibilidad):
AxeWatcherOptions options = new AxeWatcherOptions() .setApiKey(System.getenv("ACCESSIBILITY_API_KEY")) .setProjectId(System.getenv("PROJECT_ID")); // Optional: uncomment and set SERVER_URL if using a regional, private cloud, or on-premises instance: // options.setServerUrl(System.getenv("SERVER_URL")); AxeWatcherPlaywright watcher = new AxeWatcherPlaywright(options); BrowserType.LaunchPersistentContextOptions launchOptions = watcher.configure(new BrowserType.LaunchPersistentContextOptions()); // Watcher requires a persistent context. You must set headless explicitly on Playwright 1.49+: launchOptions.setHeadless(false); BrowserContext context = browserType.launchPersistentContext(userDataDir, launchOptions); AxeWatcherPage page = watcher.wrapPage(context.newPage());importantWatcher requiere un contexto persistente de Playwright. No es compatible con lanzamientos
Browserno persistentes. En Playwright Java 1.49 o posterior, también debes llamar explícitamente asetHeadless(false)(osetHeadless(true)consetChannel("chrome")osetChannel("chromium")). El modochromium-headless-shellpredeterminado no es compatible.Este fragmento de código crea una instancia de
AxeWatcherPageque envuelve tuPagede Playwright con pruebas de accesibilidad habilitadas.Para capturar una captura de pantalla cada vez que se encuentren violaciones, añade
.setTakeScreenshots(true)a tuAxeWatcherOptions. Para también guardar capturas de pantalla localmente, encadena.setScreenshotDir("./axe-screenshots"). Consulta Capturar capturas de pantalla de violaciones para más información.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. -
Al final de tu sesión de pruebas, llama a
flush():page.axeWatcher().flush();Llamar a
flush()indica que la ejecución de la prueba ha finalizado y los resultados pueden ser procesados y presentados al usuario.Para atribuir violaciones a pruebas específicas, llama a
setTestContext()antes de tu lógica de prueba:page.axeWatcher().setTestContext( "src/test/java/com/acme/LoginTest.java", java.util.Arrays.asList("LoginTest", "rejects bad password") );Consulta Atribuir violaciones a pruebas para más información.
