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 principal da integração do Axe Watcher Selenium Java, permitindo 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 de navegador e encapsular instâncias de WebDriver para habilitar a análise de acessibilidade durante os testes automatizados.
Quando integrado ao seu framework de teste, 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 os resultados de acessibilidade para o Axe Developer Hub 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 existenteChromeOptionspara configurar
Retorna:
- Uma nova instância de
ChromeOptionscom a configuração do Axe Watcher aplicada
Lança:
IllegalArgumentException- Se os modos headless ou incógnito estiverem habilitados (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 depuração para operações do Axe Watcher. Isso pode ser útil para solucionar problemas durante o desenvolvimento de testes.
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 completamente headless. Use
--headless=newem vez de--headlessse você precisar de operação headless. - 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 seu teste para garantir que todos os resultados sejam enviados ao Axe Developer Hub.
