Classe AxeWatcherOptions
Configurer Axe Watcher pour les tests d'accessibilité dans les tests Java Selenium et Playwright avec des options personnalisables
La classe AxeWatcherOptions fournit des options de configuration pour les intégrations Selenium et Playwright Java d'Axe Watcher. Cette classe vous permet de personnaliser la manière dont Axe Watcher effectue les tests d'accessibilité lors des tests automatisés de navigateur, y compris les détails de connexion au serveur, le comportement d'exécution des tests et les normes d'accessibilité.
Constructeur
AxeWatcherOptions()
Crée une nouvelle instance de AxeWatcherOptions avec les paramètres par défaut. Les valeurs par défaut sont :
serverUrl:https://axe.deque.comautoAnalyze:truegit:true
AxeWatcherOptions options = new AxeWatcherOptions();Méthodes
setApiKey(String apiKey)
Définit la clé API pour s'authentifier avec Axe Developer Hub. Ceci est nécessaire pour utiliser Axe Watcher.
Paramètres :
apiKey- Votre clé API pour Axe Developer Hub
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");setProjectId(String projectId)
Paramètres :
projectId- L'identifiant du projet destiné à recevoir les résultats d'accessibilité
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("your-project-ID-here"); // a uuid identifying the projectsetServerUrl(String serverUrl)
Définit l'URL du serveur pour envoyer les résultats d'accessibilité. Par défaut, https://axe.deque.com.
Paramètres :
serverUrl- URL du serveur pour envoyer les résultats d'accessibilité
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setServerUrl("https://custom.axe-instance.com");setBuildId(String buildId)
Définit l'ID de build pour les exécuteurs de tests parallèles. Lorsqu'il n'est pas nul, cela permet aux exécuteurs de tests parallèles de générer des résultats qui apparaissent comme un seul exécution de test dans Axe Developer Hub.
Paramètres :
buildId- ID de build pour regrouper les résultats, généralement un ID de build CI/CD
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Using a CI build ID from an environment variable
options.setBuildId(System.getenv("GITHUB_RUN_ID"));setAutoAnalyze(boolean autoAnalyze)
Définit si la page testée doit être analysée automatiquement. Par défaut, true.
Paramètres :
autoAnalyze- Indique si la page testée doit être analysée automatiquement
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Disable automatic analysis for manual control
options.setAutoAnalyze(false);setRunContext(AxeRunContext runContext)
Définit le contexte de la page testée pour soit limiter la portée de ce qui est analysé, soit exclure certains éléments de l'analyse.
Paramètres :
runContext- Contexte d'exécution pour l'analyse axe-core
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Only analyze main content and exclude navigation
AxeRunContext context = new AxeRunContext()
.setInclude(Arrays.asList("#main-content"))
.setExclude(Arrays.asList("#navigation"));
options.setRunContext(context);setRunOptions(AxeRunOptions runOptions)
Définit des options supplémentaires pour l'analyse axe-core, telles que les règles à exécuter ou désactiver.
Paramètres :
runOptions- Options d'exécution pour l'analyse axe-core
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Disable the color contrast rule and focus on WCAG 2.1 AA
Map<String, AxeRuleOptions> rules = new HashMap<>();
rules.put("color-contrast", new AxeRuleOptions().setEnabled(false));
AxeRunOnly runOnly = new AxeRunOnly()
.setType("tag")
.setValues(Arrays.asList("wcag21aa"));
AxeRunOptions runOptions = new AxeRunOptions()
.setRules(rules)
.setRunOnly(runOnly);
options.setRunOptions(runOptions);setExcludeUrlPatterns(String[] excludeUrlPatterns)
Définit les modèles d'URL à exclure de l'analyse. Utilise la bibliothèque Minimatch pour correspondre aux URL.
Paramètres :
excludeUrlPatterns- Modèles d'URL à exclure de l'analyse
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Exclude login pages and admin dashboard
options.setExcludeUrlPatterns(new String[] {
"https://example.com/login*",
"https://example.com/admin/*"
});setGit(boolean git)
Définit si le Watcher collecte les informations Git pour le test en cours. Par défaut, c'est true. Réglez-le sur false lors de l'exécution dans des environnements sans Git, ou lorsque la collecte des données Git n'est pas nécessaire.
Paramètres :
git- Si les informations Git doivent être collectées
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Disable Git info collection
options.setGit(false);setGitInfo(AxeWatcherGitInfo gitInfo)
Définit les métadonnées Git explicites pour le test en cours, contournant la détection automatique de Git. Utilisez ceci lorsque vos tests s'exécutent dans un dépôt séparé du dépôt testé, ou dans des environnements CI où la détection automatique de Git est peu fiable (par exemple, clones peu profonds ou état détaché de la tête).
Lorsqu'un AxeWatcherGitInfo non nul est défini, il prend le pas sur setGit(boolean) — les métadonnées fournies sont envoyées même si setGit(false) a été appelé précédemment. Passer null efface les métadonnées précédemment définies et revient au comportement contrôlé par setGit(boolean).
Voir Fournir des métadonnées Git et AxeWatcherGitInfo pour plus d'informations.
Paramètres :
gitInfo- Métadonnées Git explicites à utiliser. Passeznullpour effacer les métadonnées précédemment définies et revenir au comportement de détection automatique.
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
.setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
.setGitInfo(new AxeWatcherGitInfo()
.setCommitSha(System.getenv("GIT_COMMIT"))
.setBranch(System.getenv("GIT_BRANCH"))
.setDefaultBranch("main"));setConfigurationOverrides(ConfigurationOverrides configurationOverrides)
Définit les remplacements de configuration basés sur les paramètres de configuration globaux du compte Axe de votre organisation.
Paramètres :
configurationOverrides- Remplacements de configuration
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
// Override to use WCAG 2.2 AA and enable best practices
ConfigurationOverrides overrides = new ConfigurationOverrides()
.setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA)
.setEnableBestPractices(true);
options.setConfigurationOverrides(overrides);setTakeScreenshots(boolean takeScreenshots)
Définit si une capture d'écran de la page est prise lorsque des violations sont trouvées.
Paramètres :
takeScreenshots- Si les captures d'écran doivent être prises lorsque des violations sont trouvées (par défaut :false)
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);setScreenshotDir(String screenshotDir)
Définit le répertoire où les captures d'écran sont enregistrées localement, en plus d'être téléchargées sur Axe Developer Hub. N'a aucun effet sauf si setTakeScreenshots(true) est également appelé.
Lorsqu'il est défini, les captures d'écran sont enregistrées dans {screenshotDir}/YYYYMMDDTHHmmssSSS-{screenshot_id}.png. Les chemins relatifs sont résolus par rapport au répertoire de travail de la JVM. Si la création du répertoire ou l'écriture de fichiers échoue, un avertissement est enregistré et la suite de tests continue.
Paramètres :
screenshotDir- Répertoire où enregistrer les captures d'écran. Passeznullou une chaîne vide pour désactiver l'enregistrement local.
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions()
.setTakeScreenshots(true)
.setScreenshotDir("./axe-screenshots");setElementInternals(boolean elementInternals)
Active la prise en charge d'ElementInternals pour les éléments personnalisés. Une fois activée, Axe Watcher recueille les rôles ARIA et les propriétés définies via l'API ElementInternals, réduisant les faux positifs sur les pages utilisant des éléments personnalisés avec attachInternals(). Nécessite la version 4.12.0 ou ultérieure d'axe-core.
Paramètres :
elementInternals- Si le support d'ElementInternals doit être activé (par défaut :false)
Renvoie :
AxeWatcherOptions- L'instance actuelle pour le chaînage de méthodes
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions()
.setElementInternals(true);getApiKey()
Obtient la clé API actuelle.
Renvoie :
String- La clé API actuelle
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("my-api-key");
String apiKey = options.getApiKey(); // Returns "my-api-key"getProjectId()
Obtient l'ID de projet actuel. L'ID de projet identifie le projet qui reçoit les résultats d'accessibilité de axe Watcher.
Retourne :
String- L'ID de projet actuel
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("my-project-ID"); // should be a uuid identifying the project
String projectId = options.getProjectId(); // Returns the project IDgetServerUrl()
Obtient l'URL du serveur actuel.
Retourne :
String- L'URL du serveur actuel
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
String serverUrl = options.getServerUrl(); // Returns default "https://axe.deque.com"getBuildId()
Obtient l'ID de build actuel.
Retourne :
String- L'ID de build actuel
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setBuildId("build-123");
String buildId = options.getBuildId(); // Returns "build-123"getAutoAnalyze()
Obtient si l'analyse automatique est activée.
Retourne :
boolean- Si l'analyse automatique est activée
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
boolean autoAnalyze = options.getAutoAnalyze(); // Returns true (default)getRunContext()
Obtient le contexte d'exécution actuel.
Retourne :
AxeRunContext- Le contexte d'exécution actuel
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunContext context = new AxeRunContext();
options.setRunContext(context);
AxeRunContext currentContext = options.getRunContext();getRunOptions()
Obtient les options d'exécution actuelles.
Retourne :
AxeRunOptions- Les options d'exécution actuelles
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunOptions runOptions = new AxeRunOptions();
options.setRunOptions(runOptions);
AxeRunOptions currentOptions = options.getRunOptions();getExcludeUrlPatterns()
Obtient les modèles d'URL exclus actuels.
Retourne :
String[]- Les modèles d'URL exclus actuels
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setExcludeUrlPatterns(new String[] {"https://example.com/login*"});
String[] patterns = options.getExcludeUrlPatterns();getGit()
Obtient si la collecte d'informations Git est activée.
Retourne :
boolean-truesi la collecte d'informations Git est activée (par défaut), false si désactivée
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
boolean git = options.getGit(); // Returns true (default)getGitInfo()
Obtient les métadonnées Git explicites actuellement configurées, ou null s'il n'y a pas de métadonnées explicites définies.
Retourne :
AxeWatcherGitInfo- Les métadonnées Git explicites actuelles, ounullsi aucune n'est définie
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions()
.setGitInfo(new AxeWatcherGitInfo().setBranch("main"));
AxeWatcherGitInfo gitInfo = options.getGitInfo(); // Returns the configured AxeWatcherGitInfogetConfigurationOverrides()
Obtient les surcharges de configuration actuelles.
Retourne :
ConfigurationOverrides- Les surcharges de configuration actuelles
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
ConfigurationOverrides overrides = new ConfigurationOverrides();
options.setConfigurationOverrides(overrides);
ConfigurationOverrides current = options.getConfigurationOverrides();getTakeScreenshots()
Obtient si la capture d'écran est activée.
Retourne :
boolean-truesi des captures d'écran sont réalisées lorsque des violations sont trouvées,falsesinon
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);
boolean takeScreenshots = options.getTakeScreenshots(); // Returns truegetScreenshotDir()
Obtient le répertoire de captures d'écran actuel, ou null si aucun répertoire de sauvegarde locale n'est défini.
Retourne :
String- Le répertoire de captures d'écran actuel, ounull
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions()
.setScreenshotDir("./screenshots");
String dir = options.getScreenshotDir(); // Returns "./screenshots"getElementInternals()
Indique si le support ElementInternals est activé.
Renvoie :
boolean-truesi le support ElementInternals est activé,falsesinon
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions();
boolean enabled = options.getElementInternals(); // Returns false (default)toJson()
Sérialise l'instance AxeWatcherOptions vers une chaîne JSON.
Renvoie :
String- Une représentation sous forme de chaîne JSON des options
Lève :
RuntimeException- SiconfigurationOverridesetrunOptions.runOnlysont utilisés ensemble (ceux-ci s'excluent mutuellement)
Exemple :
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("my-api-key")
.setProjectId("my-project-id")
.setServerUrl("https://custom.axe-instance.com");
String json = options.toJson();Limitations de configuration
Lors de la configuration de AxeWatcherOptions, veuillez tenir compte des contraintes suivantes :
-
La clé API est requise :
options.setApiKey("your-api-key"); // Required -
L'ID de projet est requis :
options.setProjectId("your-project-ID"); // Required -
Options mutuellement exclusives :
Vous ne pouvez pas utiliser
runOptions.runOnlyetconfigurationOverrides.accessibilityStandardensemble. Si vous devez définir une norme d'accessibilité spécifique, utilisezConfigurationOverridescomme indiqué ci-dessous :// Correct: Using ConfigurationOverrides options.setConfigurationOverrides( new ConfigurationOverrides() .setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA) ); // Correct: Using RunOptions.runOnly options.setRunOptions( new AxeRunOptions() .setRunOnly(new AxeRunOnly().setType("tag").setValues(Arrays.asList("wcag22aa"))) ); // Incorrect: Using both together will throw an exception options.setConfigurationOverrides( new ConfigurationOverrides() .setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA) ).setRunOptions( new AxeRunOptions() .setRunOnly(new AxeRunOnly().setType("tag").setValues(Arrays.asList("wcag21aa"))) );
