C# 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

Problemen oplossen van veelvoorkomende fouten bij het gebruik van Axe DevTools voor Web voor C#

Not for use with personal data

Versie 4.3.0 en hoger van de axe-core-integraties gebruiken een nieuwe techniek bij het aanroepen van AxeSelenium.run(), waarbij aan het einde van een uitvoering een nieuw venster wordt geopend. Veel van de problemen die in dit document worden beschreven, hebben betrekking op veelvoorkomende problemen met deze techniek en hun mogelijke oplossingen.

Beschikken over een verouderde driver

Een veelvoorkomend probleem is het beschikken over 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 bevat een bericht over switchToWindow.

Voorbeeld:

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

Ingeschakelde popupblokkeringen

Popupblokkeringen voorkomen dat we het nieuwe venster kunnen openen bij het aanroepen van AxeSelenium::run. De standaardconfiguratie voor de meeste automatiseringstestbibliotheken zou popups moeten toestaan. Zorg ervoor dat je geen popupblokkeringen expliciet inschakelt, omdat dit problemen kan veroorzaken tijdens het uitvoeren van de tests.

AxeSelenium::useLegacyMode(boolean legacy)

Als je om de een of andere reden de nieuwe AxeSelenium::run-techniek niet zonder fouten kunt uitvoeren, biedt axe een nieuwe koppelbare methode waarmee je de legacy-versie van AxeSelenium::run kunt uitvoeren. Bij het gebruik van deze methode sluit axe toegankelijkheidsproblemen uit die kunnen optreden in cross-domain frames en iframes.

note

AxeSelenium::useLegacyMode is verouderd en zal in v5.0 worden verwijderd. Meld eventuele fouten die je tegenkomt bij het uitvoeren van AxeSelenium::run, zodat deze kunnen worden opgelost voordat de legacy-versie wordt verwijderd.

Voorbeeld

using Deque.AxeDevtools.Selenium;
using OpenQA.Selenium.Chrome;

public class Program
{
    static void Main(string[] args)
    {
        // open webdriver and go to test page
        var webDriver = new ChromeDriver();
        webDriver.Navigate().GoToUrl("http://www.testurl.com/");

        // enable legacy mode and analyze
        var results = new AxeSelenium(webDriver)
            .UseLegacyMode(true)
            .Analyze();
    }
}