Gestione degli errori in WebDriverJS

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

Come aggirare gli errori comuni riscontrati in Axe DevTools per Web WebDriverJS

Not for use with personal data

Dalla versione 4.3.0 in poi, le integrazioni di Axe DevTools per Web utilizzano una nuova tecnica quando si chiama AxeDevToolsBuilder.analyze() che apre una nuova finestra al termine di un'esecuzione. Molti dei problemi descritti in questo documento affrontano problemi comuni con questa tecnica e le loro potenziali soluzioni.

Avere un 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 esempio di messaggio di errore 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

Avere i blocchi popup abilitati

I blocchi popup ci impediscono di aprire la nuova finestra quando si chiama AxeDevToolsBuilder.analyze(). La configurazione di default per la maggior parte delle librerie di test automatizzati dovrebbe consentire i popup. Assicurati di non abilitare esplicitamente i blocchi popup, poiché potrebbero causare problemi durante l'esecuzione dei test.

AxeDevToolsBuilder.setLegacyMode(legacy: boolean)

Se per qualche motivo non riesci a eseguire la nuova tecnica AxeDevToolsBuilder.analyze senza errori, axe fornisce un nuovo metodo concatenabile che ti permette di eseguire la versione legacy di AxeDevToolsBuilder.analyze. Quando si utilizza questo metodo, axe esclude i problemi di accessibilità che possono verificarsi nei frame e negli iframe cross-domain.

note

AxeDevToolsBuilder.setLegacyMode è obsoleto e sarà rimosso nella v5.0. Segnala eventuali errori che potresti riscontrare durante l'esecuzione di AxeDevToolsBuilder.analyze in modo che possano essere risolti prima che la versione legacy venga rimossa.

Esempio

var AxeDevToolsBuilder = require('@axe-devtools/webdriverjs');
const WebDriver = require('selenium-webdriver');
(async () => {
  const driver = new WebDriver.Builder().forBrowser('chrome').build();
  await driver.get('https://dequeuniversity.com/demo/mars/');
  try {
    const results = await new AxeDevToolsBuilder(driver)
        .setLegacyMode()
        .analyze();
        console.log(results);
  } catch (err) {
      // do something with the error
  }
  await driver.quit();
})();