Risoluzione dei problemi di Java

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

Risoluzione dei problemi comuni riscontrati durante l'uso di Axe DevTools per Web con Java

Not for use with personal data

Come risolvere gli errori causati da Axe DevTools Java 4.3 e successivi. Per informazioni sulla risoluzione dei problemi di integrazione di Java Playwright, vedere Risoluzione dei problemi di Java Playwright.

Le versioni 4.3.0 e successive delle integrazioni Axe DevTools utilizzano una nuova tecnica quando si chiama AxeSelenium.run che apre una nuova finestra al termine di un'esecuzione. Molti dei problemi delineati in questo documento affrontano problemi comuni con questa tecnica e le loro possibili soluzioni.

Driver non aggiornato

Un problema comune è avere un driver non aggiornato. Per risolvere questo problema, assicurati che la tua installazione locale di geckodriver o chromedriver sia aggiornata.

Un messaggio di errore di esempio per questo problema includerà un messaggio su switchToWindow.

Per esempio, vedere quanto segue:

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

Avere i blocchi popup attivati

I blocchi popup ci impediscono di aprire la nuova finestra quando si chiama AxeSelenium::run. La configurazione predefinita della maggior parte delle librerie di testing automatizzato dovrebbe consentire i popup. Assicurati di non abilitare esplicitamente i blocchi popup che potrebbero causare un problema durante l'esecuzione dei test.

AxeBuilder::setLegacyMode(boolean legacy)

Se per qualche motivo non puoi eseguire la nuova tecnica AxeSelenium::run senza errori, axe fornisce un nuovo metodo concatenabile che ti consente di eseguire la versione legacy di AxeSelenium::run. Utilizzando questo metodo, axe esclude i problemi di accessibilità che possono verificarsi nei frame cross-domain e negli iframe.

note

AxeBuilder::setLegacyMode è deprecato e sarà rimosso nella versione 5.0. Si prega di segnalare eventuali errori che si possono incontrare durante l'esecuzione di AxeSelenium::run in modo che possano essere risolti prima che la versione legacy venga rimossa.

Esempio

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);
    }
}