Java Problemen Oplossen

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

Oplossen van veelvoorkomende fouten bij het gebruik van Axe DevTools voor Web voor Java

Not for use with personal data

Hoe om te gaan met fouten veroorzaakt door Axe DevTools Java 4.3 en later. Voor informatie over het oplossen van problemen met de Java Playwright-integratie, zie Java Playwright Problemen Oplossen.

Versie 4.3.0 en hoger van de Axe DevTools-integraties gebruiken een nieuwe techniek bij het aanroepen van AxeSelenium.run die aan het einde van een uitvoering een nieuw venster opent. Veel van de problemen die in dit document worden beschreven, behandelen veelvoorkomende problemen met deze techniek en hun mogelijke oplossingen.

Een Verouderde Driver Hebben

Een veelvoorkomend probleem is het hebben van een verouderde driver. Zorg ervoor dat uw lokale installatie van geckodriver of chromedriver up-to-date is om dit probleem op te lossen.

Een voorbeeld van een foutmelding voor dit probleem zal een bericht over switchToWindow bevatten.

Zie bijvoorbeeld het volgende:

(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefined

Popupblockers Ingeschakeld Hebben

Popupblockers voorkomen dat we het nieuwe venster kunnen openen bij het aanroepen van AxeSelenium::run. De standaardconfiguratie voor de meeste automatiseringstestbibliotheken zou pop-ups moeten toestaan. Zorg ervoor dat u popupblockers niet expliciet inschakelt, omdat dit tijdens het uitvoeren van de tests een probleem kan veroorzaken.

AxeBuilder::setLegacyMode(boolean legacy)

Als u om de een of andere reden de nieuwe AxeSelenium::run techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe koppelbare methode waarmee u de legacy versie van AxeSelenium::run kunt uitvoeren. Bij gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die kunnen optreden in cross-domain frames en iframes.

note

AxeBuilder::setLegacyMode is verouderd en zal worden verwijderd in versie 5.0. Meld alstublieft eventuele fouten die u ondervindt bij het uitvoeren van AxeSelenium::run, zodat deze kunnen worden opgelost voordat de legacy versie wordt verwijderd.

Voorbeeld

import com.deque.html.axedevtools.selenium.AxeSelenium;
import com.deque.html.axedevtools.selenium.AxeDriver;
import com.deque.html.axecore.selenium.AxeBuilder;

public class Main {
    public static void main(String[] args) {
        var webDriver = ...; // open wbdriver and go to your test page
        var axeDriver = new AxeDriver(webDriver);
        var results = new AxeSelenium(new AxeBuilder().setLegacyMode())
            .run(axeDriver);
    }
}