Solución de problemas de Java Playwright
Solución de problemas comunes en la integración de Axe DevTools for Web Java Playwright
Este documento describe los problemas que podrías encontrar al usar la integración de Java Playwright. Para obtener consejos para resolver problemas con las otras integraciones de Java, consulta Solución de problemas de Java
La versión 4.3.0 y superiores de las integraciones de axe-core usan una nueva técnica al llamar a AxePlaywrightBuilder.analyze() que abre una nueva ventana al final de una ejecución. Muchos de los problemas descritos en este documento abordan problemas comunes con esta técnica y sus soluciones potenciales.
Tener bloqueadores de ventanas emergentes habilitados
Los bloqueadores de ventanas emergentes nos impiden abrir la nueva ventana al llamar a AxePlaywrightBuilder.analyze(). La configuración predeterminada para la mayoría de las bibliotecas de pruebas automatizadas debería permitir ventanas emergentes. Asegúrate de no habilitar explícitamente los bloqueadores de ventanas emergentes, ya que esto podría causar un problema al ejecutar las pruebas.
AxePlaywrightBuilder.setLegacyMode(boolean legacyMode)
Si por alguna razón no puedes ejecutar la nueva técnica de AxePlaywrightBuilder.analyze sin errores, axe proporciona un nuevo método encadenable que te permite ejecutar la versión heredada de AxePlaywrightBuilder.analyze. Al usar este método, axe excluye problemas de accesibilidad que pueden ocurrir en marcos y iframes de dominio cruzado.
AxePlaywrightBuilder.setLegacyMode está obsoleto y se eliminará en la versión 5.0. Por favor, informa de cualquier error que puedas tener al ejecutar AxePlaywrightBuilder.analyze para que puedan solucionarse antes de que se elimine la versión heredada.
Ejemplo
El siguiente ejemplo muestra un ejemplo completo del uso de la integración de Java Playwright:
import com.deque.axecore.playwright.AxePlaywrightBuilder;
import com.deque.axecore.utility.axeresults.AxeResults;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;
import org.junit.Test;
public class MyPlaywrightTestSuite {
@Test
public void testMyWebPage() {
Playwright playwright = Playwright.create();
Browser browser = playwright.chromium()
.launch(new BrowserType.LaunchOptions().setHeadless(true));
Page page = browser.newPage();
page.navigate("https://dequeuniversity.com/demo/mars/");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
// Set legacyMode
.setLegacyMode(true);
try {
AxeResults axeResults = axePlaywrightBuilder.analyze();
System.out.println(axeResults.getViolations());
} catch (RuntimeException e) {
// Do something with the error
}
}
}