Tratamento de Erros em C#
Solução de problemas comuns encontrados ao usar o Axe DevTools para Web em C#
A versão 4.3.0 e posteriores das integrações do axe-core utilizam uma nova técnica ao chamar AxeSelenium.run(), que abre uma nova janela ao final de uma execução. Muitos dos problemas descritos neste documento abordam problemas comuns com essa técnica e suas soluções potenciais.
Driver Desatualizado
Um problema comum é ter um driver desatualizado. Para resolver essa questão, certifique-se de que a instalação local do geckodriver ou chromedriver está atualizada.
Uma mensagem de erro exemplo para este problema incluirá uma mensagem sobre switchToWindow.
Exemplo:
(node:17566) UnhandledPromiseRejectionWarning: Error: Malformed type for "handle" parameter of command switchToWindow
Expected: string
Actual: undefinedBloqueadores de Popup Ativados
Bloqueadores de popup nos impedem de abrir a nova janela ao chamar AxeSelenium::run. A configuração padrão da maioria das bibliotecas de testes de automação deve permitir popups. Por favor, certifique-se de não ativar explicitamente bloqueadores de popup que possam causar problemas durante a execução dos testes.
AxeSelenium::useLegacyMode(boolean legacy)
Se por algum motivo você não conseguir executar a nova técnica de AxeSelenium::run sem erros, axe fornece um novo método encadeável que permite executar a versão legada de AxeSelenium::run. Quando usa esse método, axe exclui problemas de acessibilidade que podem ocorrer em frames entre domínios e iframes.
AxeSelenium::useLegacyMode está obsoleto e será removido na versão 5.0. Por favor, relate quaisquer erros que você encontrar ao executar AxeSelenium::run para que possam ser corrigidos antes que a versão legada seja removida.
Exemplo
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();
}
}