Ajoutez une nouvelle dépendance pour le package Java Watcher à votre pom.xml (pour Maven) dans la section des dépendances (le package Java Watcher est disponible sur 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>Ajoutez des imports pour Java Watcher dans votre code de test :
import com.deque.axe_core.commons.AxeWatcherOptions;
import com.deque.axe_core.selenium.AxeWatcher;
import com.deque.axe_core.selenium.AxeWatcherDriver;Ajoutez du code de configuration pour Java Watcher, y compris votre clé API personnelle et l'ID de projet (tous deux stockés dans l'environnement pour la sécurité et la flexibilité) :
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));Cet extrait de code crée une nouvelle instance WebDriver appelée wrappedDriver que vous devez caster pour utiliser les méthodes du contrôleur d'axe.
Pour exécuter vos tests dans Microsoft Edge, passez plutôt une instance de EdgeOptions à configure() et une instance de EdgeDriver à wrapDriver() (les deux sont importés de org.openqa.selenium.edge). Tout le reste, y compris les méthodes de contrôle et flush(), fonctionne de la même manière :
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));Le support de Microsoft Edge nécessite Watcher 4.5.1 ou une version ultérieure et Selenium 4 ou une version ultérieure. Selenium 3's EdgeOptions cible le navigateur EdgeHTML hérité, que Axe Watcher ne prend pas en charge, donc appeler configure() avec EdgeOptions sur Selenium 3 déclenche une IllegalStateException. Chrome for Testing et Chromium restent pris en charge sur Selenium 3.141.59 et versions ultérieures.
Assurez-vous de définir ACCESSIBILITY_API_KEY et PROJECT_ID dans votre environnement sur votre clé API personnelle (disponible dans votre compte Axe, onglet **CLÉS API**) et votre ID de projet (indiqué en haut de ces instructions lorsque vous avez créé votre projet ou disponible à partir de la page Projets en choisissant **Configurer le projet** sous **Paramètres**). Si votre organisation utilise une instance Axe Developer Hub régionale, cloud privé ou sur site, définissez également SERVER_URL sur l'URL de base de cette instance (par exemple, https://axe-eu.deque.com) ; sinon, omettez SERVER_URL et la valeur par défaut https://axe.deque.com sera utilisée.
À la fin de votre session de test, appelez flush() :
((AxeWatcherDriver) wrappedDriver).axeWatcher().flush();Appeler flush() indique que l'exécution du test est terminée, et que les résultats peuvent être traités et présentés à l'utilisateur.