Classe AxeWatcher
A principal classe para integrar testes de acessibilidade do axe em suítes de teste Selenium Java (use AxeWatcherPlaywright para Playwright)
A classe AxeWatcher é o componente central da integração do axe Watcher com Selenium Java, que permite adicionar facilmente testes de acessibilidade às suas suítes de teste de ponta a ponta existentes. Esta classe fornece métodos para configurar opções do navegador e encapsular instâncias WebDriver para permitir a análise de acessibilidade durante os testes automatizados.
Quando integrado ao seu framework de testes, o axe Watcher:
- Analisa automaticamente páginas da web em busca de problemas de acessibilidade quando os testes são executados
- Reanalisa páginas ao detectar mudanças no DOM
- Vincula commits do Git aos resultados de acessibilidade
- Envia resultados de acessibilidade para o axe Developer Hub para acompanhamento 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 existenteChromeOptionspara configurar
Retorna:
- Uma nova instância de
ChromeOptionscom a configuração do axe Watcher aplicada
Lança:
IllegalArgumentException- Se o modo sem cabeça ou incógnito estiver ativado (o 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)
Encapsula uma instância ChromeDriver para habilitar funcionalidades de teste de acessibilidade.
Este método deve ser chamado após a utilização de configure() para configurar o ChromeDriver.
Parâmetros:
chromeDriver- A instânciaChromeDrivera ser encapsulada
Retorna:
- Uma instância
WebDriverencapsulada com funcionalidades de teste de acessibilidade habilitadas
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 operações do axe Watcher. Isso pode ser útil para solucionar problemas durante o desenvolvimento do teste.
Retorna:
- A instância
AxeWatcheratual para 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
- O axe Watcher não suporta o modo totalmente sem cabeça. Use
--headless=newem vez de--headlessse precisar de operação sem cabeça. - O axe Watcher não suporta o modo incógnito.
- Você deve chamar
configure()antes de criar uma instânciaChromeDriver. - Você deve chamar
wrapDriver()após criar a instânciaChromeDriver. - Chame
flush()noaxeWatcher()do driver encapsulado na finalização do teste para garantir que todos os resultados sejam enviados para o axe Developer Hub.
