Fehlerbehandlung 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

Wie man häufige Fehler in Axe DevTools für Web WebDriverJS umgeht

Not for use with personal data

Ab Version 4.3.0 der Axe DevTools für Web-Integrationen wird eine neue Technik beim Aufruf von AxeDevToolsBuilder.analyze() verwendet, die am Ende eines Durchlaufs ein neues Fenster öffnet. Viele der in diesem Dokument aufgeführten Probleme betreffen häufige Schwierigkeiten mit dieser Technik und deren mögliche Lösungen.

Veralteter Treiber

Ein häufiges Problem ist ein veralteter Treiber. Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre lokale Installation von geckodriver oder chromedriver auf dem neuesten Stand ist.

Eine typische Fehlermeldung für dieses Problem enthält eine Nachricht über switchToWindow.

Beispiel

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

Aktivierte Popup-Blocker

Popup-Blocker verhindern, dass wir beim Aufruf von AxeDevToolsBuilder.analyze() das neue Fenster öffnen. Die Standardkonfiguration der meisten Automatisierungs-Testbibliotheken sollte Popups zulassen. Bitte stellen Sie sicher, dass Sie Popup-Blocker nicht explizit aktivieren, da dies beim Ausführen der Tests Probleme verursachen kann.

AxeDevToolsBuilder.setLegacyMode(legacy: boolean)

Sollten Sie aus irgendeinem Grund die neue AxeDevToolsBuilder.analyze-Technik nicht fehlerfrei ausführen können, bietet axe eine neue kaskadierbare Methode an, die Ihnen ermöglicht, die Legacy-Version von AxeDevToolsBuilder.analyze zu verwenden. Bei Nutzung dieser Methode schließt axe Barrierefreiheitsprobleme aus, die in Cross-Domain-Frames und iframes auftreten können.

note

AxeDevToolsBuilder.setLegacyMode ist veraltet und wird in Version 5.0 entfernt. Bitte melden Sie etwaige Fehler, die beim Ausführen von AxeDevToolsBuilder.analyze auftreten, damit diese vor der Entfernung der Legacy-Version behoben werden können.

Beispiel

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