Gestione degli errori in C#

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 comuni errori riscontrati durante l'uso di Axe DevTools for Web per C#

Not for use with personal data

La versione 4.3.0 e successive delle integrazioni di axe-core utilizzano una nuova tecnica quando si chiama AxeSelenium.run() che apre una nuova finestra alla fine di un'esecuzione. Molti dei problemi discussi in questo documento affrontano problemi comuni con questa tecnica e le loro potenziali soluzioni.

Driver obsoleto

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

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

Esempio:

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

Bloccanti popup abilitati

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

AxeSelenium::useLegacyMode(boolean legacy)

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

note

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

Esempio

using Deque.AxeDevtools.Selenium;
using OpenQA.Selenium.Chrome;

public class Program
{
    static void Main(string[] args)
    {
        // open webdriver and go to test page
        var webDriver = new ChromeDriver();
        webDriver.Navigate().GoToUrl("http://www.testurl.com/");

        // enable legacy mode and analyze
        var results = new AxeSelenium(webDriver)
            .UseLegacyMode(true)
            .Analyze();
    }
}