Risoluzione dei problemi di Java Playwright
Risoluzione dei problemi comuni nell'integrazione di Axe DevTools per Web Java Playwright
Questo documento descrive i problemi che potresti incontrare utilizzando l'integrazione Java Playwright. Per suggerimenti sulla risoluzione dei problemi con le altre integrazioni Java, vedi Risoluzione dei problemi di Java
La versione 4.3.0 e successive delle integrazioni axe-core utilizzano una nuova tecnica quando si chiama AxePlaywrightBuilder.analyze() che apre una nuova finestra alla fine di un'esecuzione. Molti dei problemi descritti in questo documento riguardano problemi comuni con questa tecnica e le loro possibili soluzioni.
Avere blocco popup abilitato
I blocchi popup impediscono l'apertura della nuova finestra quando si chiama AxePlaywrightBuilder.analyze(). La configurazione predefinita per la maggior parte delle librerie di test automatizzati dovrebbe consentire i popup. Assicurati di non abilitare esplicitamente i blocchi popup che potrebbero causare un problema durante l'esecuzione dei test.
AxePlaywrightBuilder.setLegacyMode(boolean legacyMode)
Se per qualche motivo non riesci a eseguire la nuova tecnica AxePlaywrightBuilder.analyze senza errori, axe fornisce un nuovo metodo concatenabile che ti permette di eseguire la versione legacy di AxePlaywrightBuilder.analyze. Utilizzando questo metodo, axe esclude i problemi di accessibilità che possono verificarsi nei frame e iframe cross-domain.
AxePlaywrightBuilder.setLegacyMode è deprecato e verrà rimosso nella versione 5.0. Si prega di segnalare eventuali errori che si possono verificare durante l'esecuzione di AxePlaywrightBuilder.analyze in modo che possano essere risolti prima che la versione legacy venga rimossa.
Esempio
Il seguente esempio mostra un esempio completo dell'uso dell'integrazione 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
}
}
}