Classe AxeWatcher
A classe principal para integrar testes de acessibilidade axe em suítes de testes em Java com Selenium
A classe AxeWatcher é o componente central da integração axe Watcher Selenium Java, que permite adicionar facilmente testes de acessibilidade às suas suítes de testes ponta a ponta existentes. Esta classe fornece métodos para configurar opções de navegador e envolver instâncias de WebDriver para habilitar a análise de acessibilidade durante testes automatizados.
Quando integrado ao seu framework de testes, o axe Watcher:
- Analisa automaticamente as páginas da web em busca de problemas de acessibilidade quando os testes são executados
- Reanalisa as páginas ao detectar alterações no DOM
- Vincula commits do Git aos resultados de acessibilidade
- Envia os resultados de acessibilidade para o Hub do Desenvolvedor axe para rastreamento e análise
Construtor
AxeWatcher(AxeWatcherOptions options)
Cria uma nova instância de AxeWatcher com as opções especificadas.
Parâmetros:
options- As opções de configuração para o axe Watcher
Exemplo:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("your-api-key-here")
.setProjectId("your-project-ID-here")
.setServerUrl("https://axe.deque.com");
AxeWatcher watcher = new AxeWatcher(options);Métodos
configure(ChromeOptions chromeOptions)
Configura ChromeOptions para habilitar testes de acessibilidade com o axe Watcher.
Este método deve ser chamado antes de criar uma instância de ChromeDriver .
Parâmetros:
chromeOptions- A instância existente deChromeOptionsa ser configurada
Retorna:
- Uma nova instância de
ChromeOptionscom a configuração do axe Watcher aplicada
Lança:
IllegalArgumentException- Se o modo headless ou incognito estiver habilitado (axe Watcher não suporta esses modos)
Exemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
// Add any additional Chrome options here
ChromeOptions configuredOptions = watcher.configure(chromeOptions);
// Now create ChromeDriver with the configured options
ChromeDriver driver = new ChromeDriver(configuredOptions);wrapDriver(ChromeDriver chromeDriver)
Envolve uma instância de ChromeDriver para habilitar a funcionalidade de testes de acessibilidade.
Este método deve ser chamado após configure() ter sido usado para configurar o ChromeDriver.
Parâmetros:
chromeDriver- A instância deChromeDrivera ser envolvida
Retorna:
- Uma instância de
WebDriverenvolvida com a funcionalidade de testes de acessibilidade habilitada
Lança:
RuntimeException- Seconfigure()não foi chamado antes deste método
Exemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = watcher.configure(new ChromeOptions());
ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
// Wrap the ChromeDriver
WebDriver driver = watcher.wrapDriver(chromeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");enableDebugLogger()
Habilita o registro de log de depuração para as operações do axe Watcher. Isso pode ser útil para solucionar problemas durante o desenvolvimento de testes.
Retorna:
- A instância atual de
AxeWatcherpara encadeamento de métodos
Exemplo:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options).enableDebugLogger();Notas e Limitações
- axe Watcher não suporta o modo completamente headless. Use
--headless=newem vez de--headlessse você precisar de operação headless. - axe Watcher não suporta o modo de navegação anônima.
- Você deve chamar
configure()antes de criar umaChromeDriverinstância. - Você deve chamar
wrapDriver()após criar aChromeDriverinstância. - Chame
flush()no driver encapsulado'saxeWatcher()na finalização dos testes para garantir que todos os resultados sejam enviados para o eixo Developer Hub.
