Gestione degli errori in Playwright

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 che potrebbero verificarsi con axe DevTools per Web per Playwright

Not for use with personal data

La versione 4.3.0 e successive di axe DevTools per le integrazioni Web utilizzano una nuova tecnica durante la chiamata AxeBuilder.analyze() che apre una nuova finestra al termine di un'esecuzione. Molti degli argomenti trattati in questo documento riguardano problemi comuni di questa tecnica e le loro possibili soluzioni.

Blocchi popup abilitati

I blocchi popup ci impediscono di aprire una nuova finestra quando chiamiamo AxeBuilder.analyze(). La configurazione predefinita per la maggior parte delle librerie di test di automazione dovrebbe consentire i popup. Assicuratevi di non abilitare esplicitamente i blocchi popup, poiché potrebbero causare problemi durante l'esecuzione dei test.

AxeBuilder.setLegacyMode(legacy: boolean)

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

note

AxeBuilder.setLegacyMode è obsoleto e verrà rimosso nella versione 5.0. Segnala eventuali errori riscontrati durante l'esecuzione AxeBuilder.analyze in modo che possano essere corretti prima che la versione legacy venga rimossa.

Esempio

const AxeBuilder = require('@axe-devtools/playwright').default
const playwright = require('playwright')

;(async () => {
  const browser = await playwright.chromium.launch()
  const context = await browser.newContext()
  const page = await context.newPage()
  await page.goto('https://dequeuniversity.com/demo/mars/')

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