4.3 Foutafhandeling

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

Hoe om te gaan met fouten die u mogelijk ontvangt bij het gebruik van Axe DevTools voor Web voor WebdriverIO

Not for use with personal data

Versie 4.3.0 en hoger van de Axe DevTools-integraties gebruiken een nieuwe techniek bij het aanroepen van AxeDevToolsWebdriverIO.analyze(), die een nieuw venster opent aan het einde van een sessie. Veel van de problemen die in dit document worden beschreven, gaan over veelvoorkomende problemen met deze techniek en hun mogelijke oplossingen.

Een Verouderde Driver Hebben

Een veelvoorkomend probleem is het hebben van een verouderde driver. Om dit probleem op te lossen, zorgt u ervoor dat uw lokale installatie van geckodriver of chromedriver up-to-date is.

Een voorbeeld van een foutmelding voor dit probleem zal een bericht over switchToWindow bevatten.

Voorbeeld

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

Geactiveerde Popupblokkers

Popupblokkers verhinderen ons om het nieuwe venster te openen bij het aanroepen van AxeDevToolsWebdriverIO.analyze(). De standaardconfiguratie voor de meeste automatiseringstestbibliotheken zou pop-ups moeten toestaan. Zorg ervoor dat u popupblokkers niet expliciet inschakelt, want dit kan problemen veroorzaken tijdens het uitvoeren van de tests.

AxeDevToolsWebdriverIO.setLegacyMode(legacy: boolean)

Als u om de een of andere reden de nieuwe AxeDevToolsWebdriverIO.analyze-techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe koppelbare methode waarmee u de legacy-versie van AxeDevToolsWebdriverIO.analyze kunt uitvoeren. Bij het gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die kunnen optreden in domeinoverstijgende frames en iframes.

note

AxeDevToolsWebdriverIO.setLegacyMode is verouderd en zal in v5.0 worden verwijderd. Meld alstublieft eventuele fouten die u ervaart tijdens het uitvoeren van AxeDevToolsWebdriverIO.analyze, zodat deze kunnen worden opgelost voordat de legacy-versie wordt verwijderd.

Voorbeeld

const { AxeDevToolsWebdriverIO } = require('@axe-devtools/webdriverio');
const { remote } = require('webdriverio');

(async () => {
  const client = await remote({
    logLevel: 'error',
    capabilities: {
      browserName: 'chrome'
    }
  });

  await client.url('https://dequeuniversity.com/demo/mars/');

  const builder = new AxeDevToolsWebdriverIO({ client });
  try {
    const results = await builder
      .setLegacyMode()
      .analyze();
    console.log(results);
  } catch (e) {
    // do something with the error
  }
  await client.deleteSession();
})();