Probleemoplossing Java Playwright
Problemen oplossen met de Axe DevTools voor Web Java Playwright integratie
Dit document beschrijft de problemen die u kunt tegenkomen bij het gebruik van de Java Playwright integratie. Voor tips over probleemoplossing met de andere Java-integraties, zie Probleemoplossing Java
Versie 4.3.0 en hoger van de axe-core-integraties gebruiken een nieuwe techniek bij het aanroepen van AxePlaywrightBuilder.analyze() die een nieuw venster opent aan het einde van een run. Veel van de problemen die in dit document worden besproken, behandelen veelvoorkomende problemen met deze techniek en hun mogelijke oplossingen.
Popupblockers ingeschakeld hebben
Popupblockers voorkomen dat we het nieuwe venster kunnen openen bij het aanroepen van AxePlaywrightBuilder.analyze(). De standaardconfiguratie voor de meeste automatiseringstestbibliotheken zou popups moeten toestaan. Zorg ervoor dat u niet expliciet popupblockers inschakelt, omdat dit problemen kan veroorzaken tijdens het uitvoeren van de tests.
AxePlaywrightBuilder.setLegacyMode(boolean legacyMode)
Als u om de een of andere reden de nieuwe AxePlaywrightBuilder.analyze-techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe chainable methode die het mogelijk maakt om de legacy-versie van AxePlaywrightBuilder.analyze uit te voeren. Bij gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die zich kunnen voordoen in cross-domain frames en iframes.
AxePlaywrightBuilder.setLegacyMode is verouderd en zal worden verwijderd in v5.0. Meld alstublieft eventuele fouten die u tegenkomt bij het uitvoeren van AxePlaywrightBuilder.analyze, zodat deze kunnen worden opgelost voordat de legacy-versie wordt verwijderd.
Voorbeeld
Het volgende voorbeeld toont een volledig voorbeeld van het gebruik van de Java Playwright integratie:
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
}
}
}