Dépannage de Java Playwright
Ce document décrit les problèmes que vous pourriez rencontrer lors de l'utilisation de l'intégration Java Playwright. Pour obtenir des conseils de dépannage avec les autres intégrations Java, consultez Dépannage Java
La version 4.3.0 et supérieure des intégrations axe-core utilise une nouvelle technique lors de l'appel AxePlaywrightBuilder.analyze()
qui ouvre une nouvelle fenêtre à la fin d'une exécution. La plupart des points décrits dans ce document abordent les problèmes courants liés à cette technique et leurs solutions potentielles.
Avoir les bloqueurs de pop-up activés
Les bloqueurs de popups nous empêchent d'ouvrir la nouvelle fenêtre lors de l'appel AxePlaywrightBuilder.analyze()
. La configuration par défaut de la plupart des bibliothèques de tests d'automatisation doit autoriser les fenêtres contextuelles. Assurez-vous de ne pas activer explicitement les bloqueurs de fenêtres contextuelles, ce qui peut entraîner un problème lors de l'exécution des tests.
AxePlaywrightBuilder.setLegacyMode(boolean legacyMode)
Si pour une raison quelconque vous ne pouvez pas exécuter la nouvelle AxePlaywrightBuilder.analyze
technique sans erreurs, axe fournit une nouvelle méthode chaînable qui vous permet d'exécuter la version obsolète de AxePlaywrightBuilder.analyze
. Lorsque vous utilisez cette méthode, axe exclut les problèmes d'accessibilité qui peuvent survenir dans les cadres et les iframes inter-domaines.
AxePlaywrightBuilder.setLegacyMode
est obsolète et sera supprimé dans la version 5.0. Veuillez signaler toute erreur que vous pourriez rencontrer lors de l'exécution AxePlaywrightBuilder.analyze
afin qu'elles puissent être corrigées avant la suppression de la version obsolète.
Exemple
L'exemple suivant montre un exemple complet d'utilisation de l'intégration 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
}
}
}