Classe AxeWatcherOptions

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Configurer Axe Watcher pour les tests d'accessibilité dans les tests Java Selenium et Playwright avec des options personnalisables

Not for use with personal data

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.com
  • autoAnalyze : true
  • git : 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 project

setServerUrl(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. Passez null pour 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. Passez null ou 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 ID

getServerUrl()

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 - true si 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, ou null si aucune n'est définie

Exemple :

AxeWatcherOptions options = new AxeWatcherOptions()
    .setGitInfo(new AxeWatcherGitInfo().setBranch("main"));
AxeWatcherGitInfo gitInfo = options.getGitInfo(); // Returns the configured AxeWatcherGitInfo

getConfigurationOverrides()

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 - true si des captures d'écran sont réalisées lorsque des violations sont trouvées, false sinon

Exemple :

AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);
boolean takeScreenshots = options.getTakeScreenshots(); // Returns true

getScreenshotDir()

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, ou null

Exemple :

AxeWatcherOptions options = new AxeWatcherOptions()
    .setScreenshotDir("./screenshots");
String dir = options.getScreenshotDir(); // Returns "./screenshots"

getElementInternals()

Indique si le support ElementInternals est activé.

Renvoie :

  • boolean - true si le support ElementInternals est activé, false sinon

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 - Si configurationOverrides et runOptions.runOnly sont 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 :

  1. La clé API est requise :

    options.setApiKey("your-api-key"); // Required
  2. L'ID de projet est requis :

    options.setProjectId("your-project-ID"); // Required
  3. Options mutuellement exclusives :

    Vous ne pouvez pas utiliser runOptions.runOnly et configurationOverrides.accessibilityStandard ensemble. Si vous devez définir une norme d'accessibilité spécifique, utilisez ConfigurationOverrides comme 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")))
    );

Voir aussi