Gestione degli errori in Puppeteer

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 for Web per Puppeteer

Not for use with personal data

Le versioni 4.3.0 e successive delle integrazioni Axe DevTools for Web utilizzano una nuova tecnica quando si chiama AxeDevToolsPuppeteer.analyze(), che apre una nuova finestra al termine di un'esecuzione. Molti dei problemi delineati in questo documento riguardano problemi comuni con questa tecnica e le loro potenziali soluzioni.

Abilitazione dei blocchi popup

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

AxeDevToolsPuppeteer.setLegacyMode(legacy: boolean)

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

note

AxeDevToolsPuppeteer.setLegacyMode è deprecato e sarà rimosso nella versione 5.0. Si prega di segnalare eventuali errori che possono verificarsi durante l'esecuzione di AxeDevToolsPuppeteer.analyze in modo che possano essere risolti prima che la versione legacy venga rimossa.

Esempio

const { AxeDevToolsPuppeteer } = require('@axe-devtools/puppeteer');
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setBypassCSP(true);

  await page.goto('https://dequeuniversity.com/demo/mars/');

  try {
    const results = await new AxeDevToolsPuppeteer(page).setLegacyMode().analyze();
    console.log(results);
  } catch(err) {
      // do something with the error
  }
  await page.close();
  await browser.close();
})();