Foutafhandeling 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

Hoe om te gaan met veelvoorkomende fouten in Axe DevTools voor Web WebDriverJS

Not for use with personal data

Versie 4.3.0 en hoger van de Axe DevTools voor Web-integraties gebruiken een nieuwe techniek bij het aanroepen van AxeDevToolsBuilder.analyze() die aan het einde van een run een nieuw venster opent. Veel van de problemen die in dit document worden beschreven, hebben betrekking op 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, zorg ervoor dat je 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

Pop-upblokkeringen Ingeschakeld Hebben

Pop-upblokkeringen voorkomen dat we het nieuwe venster openen bij het aanroepen van AxeDevToolsBuilder.analyze(). De standaardconfiguratie voor de meeste automatiseringstestbibliotheken zou pop-ups moeten toestaan. Zorg ervoor dat je pop-upblokkeringen niet expliciet inschakelt, aangezien dit problemen kan veroorzaken tijdens het uitvoeren van de tests.

AxeDevToolsBuilder.setLegacyMode(legacy: boolean)

Als je om de een of andere reden de nieuwe AxeDevToolsBuilder.analyze-techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe koppelbare methode aan die je in staat stelt de legacyversie van AxeDevToolsBuilder.analyze uit te voeren. Bij gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die kunnen optreden in cross-domain frames en iframes.

note

AxeDevToolsBuilder.setLegacyMode is verouderd en zal worden verwijderd in versie 5.0. Meld alstublieft eventuele fouten die zich voordoen tijdens het uitvoeren van AxeDevToolsBuilder.analyze, zodat deze kunnen worden opgelost voordat de legacyversie wordt verwijderd.

Voorbeeld

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();
})();