1. Adicione uma nova dependência para o pacote Java Watcher à sua seção de dependências pom.xml (para Maven) (o pacote Java Watcher está disponível no Maven Central):

    <dependencies>
    
    <!-- Add this dependency: -->
      <dependency>
         <groupId>com.deque.axe_core</groupId>
         <artifactId>watcher</artifactId>
         <version>4.5.1</version> <!-- Update this as needed -->
      </dependency>
    
    </dependencies>
  2. Adicione as importações para o Java Watcher ao seu código de teste:

    import com.deque.axe_core.commons.AxeWatcherOptions;
    import com.deque.axe_core.selenium.AxeWatcher;
    import com.deque.axe_core.selenium.AxeWatcherDriver;
  3. Adicione o código de configuração para o Java Watcher, incluindo sua chave de API pessoal e ID do projeto (ambos armazenados no ambiente para segurança e flexibilidade):

    AxeWatcherOptions options =
        new AxeWatcherOptions()
            .setApiKey(System.getenv("ACCESSIBILITY_API_KEY"))
            .setProjectId(System.getenv("PROJECT_ID"));
    // Optional: uncomment and set SERVER_URL if using a regional, private cloud, or on-premises instance:
    // options.setServerUrl(System.getenv("SERVER_URL"));
    AxeWatcher watcher = new AxeWatcher(options);
    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions = watcher.configure(chromeOptions);
    WebDriver wrappedDriver = watcher.wrapDriver(new ChromeDriver(chromeOptions));

    Este trecho de código cria uma nova instância WebDriver chamada wrappedDriver que você precisa fazer cast para usar os métodos do controlador de axe.

    Para executar seus testes no Microsoft Edge, em vez disso, passe uma instância EdgeOptions para configure() e uma instância EdgeDriver para wrapDriver() (ambas são importadas de org.openqa.selenium.edge). Todo o resto, incluindo os métodos do controlador e flush(), funciona da mesma forma:

    AxeWatcherOptions options =
        new AxeWatcherOptions()
            .setApiKey(System.getenv("ACCESSIBILITY_API_KEY"))
            .setProjectId(System.getenv("PROJECT_ID"));
    AxeWatcher watcher = new AxeWatcher(options);
    EdgeOptions edgeOptions = new EdgeOptions();
    edgeOptions = watcher.configure(edgeOptions);
    WebDriver wrappedDriver = watcher.wrapDriver(new EdgeDriver(edgeOptions));
    important

    O suporte ao Microsoft Edge requer o Watcher 4.5.1 ou posterior e o Selenium 4 ou posterior. O EdgeOptions do Selenium 3 tem como alvo o navegador EdgeHTML legado, que o Axe Watcher não suporta, de modo que chamar configure() com EdgeOptions no Selenium 3 gera uma IllegalStateException. O Chrome for Testing e o Chromium continuam suportados no Selenium 3.141.59 e posterior.

    Certifique-se de configurar ACCESSIBILITY_API_KEY e PROJECT_ID no seu ambiente com sua chave de API pessoal (encontrada na sua Conta Axe, aba **API KEYS**) e o ID do seu projeto (mostrado no topo destas instruções quando você criou seu projeto ou disponível na página de Projetos escolhendo **Configurar projeto** em **Configurações**). Se sua organização usar uma instância regional, nuvem privada ou local do Axe Developer Hub, também configure SERVER_URL com a URL base dessa instância (por exemplo, https://axe-eu.deque.com); caso contrário, omita SERVER_URL e o padrão https://axe.deque.com será utilizado.

  4. No final da sua sessão de teste, chame flush():

    ((AxeWatcherDriver) wrappedDriver).axeWatcher().flush();

    Chamar flush() indica que a execução do teste foi concluída e os resultados podem ser processados e apresentados ao usuário.