Classe AxeWatcher
La classe principale pour intégrer les tests d'accessibilité axe dans les suites de tests Selenium Java (utiliser AxeWatcherPlaywright pour Playwright)
La classe AxeWatcher est le composant central de l'intégration Java de Selenium Axe Watcher, qui vous permet d'ajouter facilement des tests d'accessibilité à vos suites de tests de bout en bout existantes. Cette classe fournit des méthodes pour configurer les options du navigateur et encapsuler les instances WebDriver afin de permettre une analyse de l'accessibilité lors des tests automatisés.
configure() et wrapDriver() fournissent chacun une surcharge par navigateur : passez ChromeOptions et ChromeDriver pour tester dans Chrome pour Testing ou Chromium, ou EdgeOptions et EdgeDriver pour tester dans Microsoft Edge. Microsoft Edge nécessite Watcher 4.5.1 ou une version ultérieure et Selenium 4 ou une version ultérieure.
Lorsqu'il est intégré dans votre cadre de test, Axe Watcher :
- Analyse automatiquement les pages web pour détecter les problèmes d'accessibilité lorsque les tests sont exécutés
- Ré-analyse les pages lors de la détection de changements dans le DOM
- Liaison des commits Git aux résultats d'accessibilité
- Envoie les résultats d'accessibilité à Axe Developer Hub pour suivi et analyse
Constructeur
AxeWatcher(AxeWatcherOptions options)
Crée une nouvelle instance de AxeWatcher avec les options spécifiées.
Paramètres :
options- Les options de configuration pour Axe Watcher
Exemple :
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éthodes
configure(ChromeOptions chromeOptions)
Configure ChromeOptions pour activer les tests d'accessibilité avec Axe Watcher.
Cette méthode doit être appelée avant la création d'une instance de ChromeDriver.
Paramètres :
chromeOptions- L'instance existante deChromeOptionsà configurer
Renvoie :
- Une nouvelle instance de
ChromeOptionsavec la configuration Axe Watcher appliquée
Lève :
IllegalArgumentException- Si le mode sans tête ou incognito est activé (Axe Watcher ne prend pas en charge ces modes)
Exemple :
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);configure(EdgeOptions edgeOptions)
Configure EdgeOptions pour activer le test d'accessibilité avec Axe Watcher dans Microsoft Edge.
Cette méthode doit être appelée avant de créer une instance de EdgeDriver. Microsoft Edge nécessite Selenium 4 ou une version ultérieure.
Paramètres :
edgeOptions- L'instance existante deEdgeOptionsà configurer
Renvoie :
- Une nouvelle instance de
EdgeOptionsavec la configuration d'Axe Watcher appliquée. Seuls les arguments de la ligne de commande et le chemin binaire sont transférés à partir de l'instance que vous transmettez, donc définissez toutes les autres capacités sur l'instance retournée avant de construire leEdgeDriver.
Lève :
IllegalArgumentException- Si le mode sans tête ou incognito est activé (Axe Watcher ne prend pas en charge ces modes)IllegalStateException- Si votre projet utilise une version deselenium-javaantérieure à 4. LeEdgeOptionsde Selenium 3 cible l'ancien navigateur EdgeHTML, que Axe Watcher ne prend pas en charge.
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = new EdgeOptions();
// configure() carries over the arguments and the binary path set here;
// set any other capabilities on the returned instance instead
edgeOptions.addArguments("--window-size=1280,720");
EdgeOptions configuredOptions = watcher.configure(edgeOptions);
// Now create EdgeDriver with the configured options
EdgeDriver driver = new EdgeDriver(configuredOptions);wrapDriver(ChromeDriver chromeDriver)
Encapsule une instance de ChromeDriver pour activer la fonctionnalité de test d'accessibilité.
Cette méthode doit être appelée après que configure() a été utilisé pour configurer le ChromeDriver.
Paramètres :
chromeDriver- L'instance deChromeDriverà encapsuler
Renvoie :
- Une instance de
WebDriverencapsulée avec la fonctionnalité de test d'accessibilité activée
Lève :
RuntimeException- Siconfigure()n'a pas été appelée avant cette méthode
Exemple :
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");wrapDriver(EdgeDriver edgeDriver)
Encapsule une instance de EdgeDriver pour activer la fonctionnalité de test d'accessibilité.
Cette méthode doit être appelée après que configure() a été utilisé pour configurer le EdgeDriver.
Paramètres :
edgeDriver- L'instance deEdgeDriverà encapsuler
Renvoie :
- Une instance de
WebDriverencapsulée avec la fonctionnalité de test d'accessibilité activée
Lève :
RuntimeException- Siconfigure()n'a pas été appelée avant cette méthode
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = watcher.configure(new EdgeOptions());
EdgeDriver edgeDriver = new EdgeDriver(edgeOptions);
// Wrap the EdgeDriver
WebDriver driver = watcher.wrapDriver(edgeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");enableDebugLogger()
Active la journalisation de débogage pour les opérations d'Axe Watcher. Cela peut être utile pour résoudre des problèmes lors du développement des tests.
Renvoie :
- L'instance actuelle de
AxeWatcherpour l'enchaînement des méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options).enableDebugLogger();Notes et Limitations
- Axe Watcher ne prend pas en charge le mode sans tête complet. Utilisez
--headless=newau lieu de--headlesssi vous avez besoin d'une opération sans tête. - Axe Watcher ne prend pas en charge le mode incognito.
- Vous devez appeler
configure()avant de créer une instance deChromeDriverouEdgeDriver. - Vous devez appeler
wrapDriver()après avoir créé l'instance deChromeDriverouEdgeDriver. - Microsoft Edge nécessite Watcher 4.5.1 ou une version ultérieure et Selenium 4 ou une version ultérieure. Le chemin Chrome (
ChromeOptions/ChromeDriver, utilisé avec Chrome pour Testing ou Chromium) est pris en charge à partir de Selenium 3.141.59 et versions ultérieures. - Appelez
flush()sur leaxeWatcher()du pilote encapsulé dans votre nettoyage de test pour vous assurer que tous les résultats sont envoyés à Axe Developer Hub.
