Instrucciones para Java y Playwright

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

Configuración de tus pruebas con Java y Playwright

Not for use with personal data
  1. 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>
  2. 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;
  3. 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());
    important

    Watcher requiere un contexto persistente de Playwright. No es compatible con lanzamientos Browser no persistentes. En Playwright Java 1.49 o posterior, también debes llamar explícitamente a setHeadless(false) (o setHeadless(true) con setChannel("chrome") o setChannel("chromium")). El modo chromium-headless-shell predeterminado no es compatible.

    Este fragmento de código crea una instancia de AxeWatcherPage que envuelve tu Page de Playwright con pruebas de accesibilidad habilitadas.

    Para capturar una captura de pantalla cada vez que se encuentren violaciones, añade .setTakeScreenshots(true) a tu AxeWatcherOptions. 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_KEY y PROJECT_ID en 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 configura SERVER_URL con la URL base de esa instancia (por ejemplo, https://axe-eu.deque.com); de lo contrario, omite SERVER_URL y se usará el https://axe.deque.com predeterminado.

  4. 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.