AxeWatcherOptions-Klasse

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

Konfigurieren Sie Axe Watcher für Barrierefreiheitstests in Selenium- und Playwright-Java-Tests mit anpassbaren Optionen

Not for use with personal data

Die AxeWatcherOptions-Klasse bietet Konfigurationsoptionen für die Axe Watcher Selenium- und Playwright-Java-Integrationen. Diese Klasse ermöglicht es Ihnen, anzupassen, wie Axe Watcher während automatisierter Browsertests Barrierefreiheitstests durchführt, einschließlich Serververbindungsdetails, Testausführungsverhalten und Barrierefreiheitsstandards.

Konstruktor

AxeWatcherOptions()

Erstellt eine neue Instanz von AxeWatcherOptions mit Standardeinstellungen. Die Standardwerte sind:

  • serverUrl: https://axe.deque.com
  • autoAnalyze: true
  • git: true
AxeWatcherOptions options = new AxeWatcherOptions();

Methoden

setApiKey(String apiKey)

Setzt den API-Schlüssel zur Authentifizierung mit dem Axe Developer Hub. Dies ist erforderlich, um Axe Watcher zu verwenden.

Parameter:

  • apiKey - Ihr API-Schlüssel für Axe Developer Hub

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");

setProjectId(String projectId)

Parameter:

  • projectId - Die Projekt-ID des Projekts, das die Barrierefreiheitsresultate erhalten soll

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("your-project-ID-here"); // a uuid identifying the project

setServerUrl(String serverUrl)

Setzt die Server-URL, um Barrierefreiheitsresultate zu senden. Standardmäßig https://axe.deque.com.

Parameter:

  • serverUrl - URL des Servers, um die Barrierefreiheitsresultate zu senden

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setServerUrl("https://custom.axe-instance.com");

setBuildId(String buildId)

Setzt die Build-ID für parallele Testläufer. Wenn nicht null, ermöglicht dies parallel Testläufern, Ergebnisse zu generieren, die als einzelner Testrun im Axe Developer Hub erscheinen.

Parameter:

  • buildId - Build-ID, unter der Ergebnisse zusammengefasst werden, typischerweise eine CI/CD-Build-ID

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
// Using a CI build ID from an environment variable
options.setBuildId(System.getenv("GITHUB_RUN_ID"));

setAutoAnalyze(boolean autoAnalyze)

Legt fest, ob die zu testende Seite automatisch analysiert werden soll. Standardmäßig true.

Parameter:

  • autoAnalyze - Ob die zu testende Seite automatisch analysiert werden soll

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
// Disable automatic analysis for manual control
options.setAutoAnalyze(false);

setRunContext(AxeRunContext runContext)

Legt den Kontext der zu testenden Seite fest, um entweder den Umfang dessen zu begrenzen, was analysiert wird, oder bestimmte Elemente von der Analyse auszuschließen.

Parameter:

  • runContext - Ausführungskontext für die axe-core-Analyse

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

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)

Legt zusätzliche Optionen für die axe-core-Analyse fest, wie zum Beispiel welche Regeln ausgeführt oder deaktiviert werden sollen.

Parameter:

  • runOptions - Ausführungsoptionen für die axe-core-Analyse

Rückgabewert:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

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)

Setzt URL-Muster, die von der Analyse ausgeschlossen werden sollen. Verwendet die Minimatch-Bibliothek zum Vergleichen von URLs.

Parameter:

  • excludeUrlPatterns - URL-Muster, die von der Analyse ausgeschlossen werden

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

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)

Legt fest, ob der Watcher Git-Informationen für den aktuellen Testlauf sammelt. Standardmäßig true. Setzen Sie auf false, wenn Sie in Umgebungen ohne Git laufen oder wenn keine Git-Datenerfassung benötigt wird.

Parameter:

  • git - Ob Git-Informationen gesammelt werden sollen

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
// Disable Git info collection
options.setGit(false);

setGitInfo(AxeWatcherGitInfo gitInfo)

Setzt explizite Git-Metadaten für den aktuellen Testlauf und umgeht die automatische Git-Erkennung. Verwenden Sie dies, wenn Ihre Tests in einem Repository laufen, das von dem zu testenden Repository getrennt ist, oder in CI-Umgebungen, in denen die Git-Auto-Erkennung unzuverlässig ist (zum Beispiel bei flachen Klonen oder im detached HEAD-Zustand).

Wenn ein nicht-nullwertiger AxeWatcherGitInfo gesetzt ist, hat er Vorrang vor setGit(boolean) — die bereitgestellten Metadaten werden gesendet, auch wenn setGit(false) zuvor aufgerufen wurde. Das Übergeben von null löscht alle zuvor gesetzten Metadaten und kehrt zu dem durch setGit(boolean) gesteuerten Verhalten zurück.

Siehe Bereitstellung von Git-Metadaten und AxeWatcherGitInfo für weitere Informationen.

Parameter:

  • gitInfo - Zu verwendende explizite Git-Metadaten. Übergeben Sie null, um zuvor gesetzte Metadaten zu löschen und zum Auto-Erkennungs-Verhalten zurückzukehren.

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

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)

Setzt Konfigurationsüberschreibungen basierend auf den globalen Konfigurationseinstellungen des Axe-Kontos Ihrer Organisation.

Parameter:

  • configurationOverrides - Konfigurationsüberschreibungen

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

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)

Legt fest, ob ein Screenshot der Seite aufgenommen wird, wenn Verstöße gefunden werden.

Parameter:

  • takeScreenshots - Ob Screenshots aufgenommen werden, wenn Verstöße gefunden werden (Standard: false)

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);

setScreenshotDir(String screenshotDir)

Legt das Verzeichnis fest, in dem Screenshots lokal gespeichert werden, zusätzlich zum Hochladen in das Axe Developer Hub. Hat keine Wirkung, es sei denn, setTakeScreenshots(true) wird ebenfalls aufgerufen.

Wenn gesetzt, werden Screenshots in {screenshotDir}/YYYYMMDDTHHmmssSSS-{screenshot_id}.png geschrieben. Relative Pfade werden relativ zum Arbeitsverzeichnis des JVM aufgelöst. Wenn die Verzeichniserstellung oder das Schreiben der Dateien fehlschlägt, wird eine Warnung protokolliert und die Testsuite fortgesetzt.

Parameter:

  • screenshotDir - Verzeichnis, in dem Screenshots gespeichert werden sollen. Übergeben Sie null oder einen leeren String, um das lokale Speichern zu deaktivieren.

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setTakeScreenshots(true)
    .setScreenshotDir("./axe-screenshots");

setElementInternals(boolean elementInternals)

Aktiviert ElementInternals-Unterstützung für benutzerdefinierte Elemente. Wenn aktiviert, sammelt Axe Watcher ARIA-Rollen und Eigenschaften, die über die ElementInternals-API gesetzt werden, um Fehlalarme auf Seiten zu reduzieren, die benutzerdefinierte Elemente mit attachInternals() verwenden. Erfordert axe-core Version 4.12.0 oder später.

Parameter:

  • elementInternals - Ob ElementInternals-Unterstützung aktiviert werden soll (Standard: false)

Rückgabewerte:

  • AxeWatcherOptions - Die aktuelle Instanz für Methodenkette

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setElementInternals(true);

getApiKey()

Gibt den aktuellen API-Schlüssel zurück.

Rückgabewerte:

  • String - Der aktuelle API-Schlüssel

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("my-api-key");
String apiKey = options.getApiKey(); // Returns "my-api-key"

getProjectId()

Ruft die aktuelle Projekt-ID ab. Die Projekt-ID identifiziert das Projekt, das die Ergebnisse der Barrierefreiheit von axe Watcher erhält.

Gibt zurück:

  • String - Die aktuelle Projekt-ID

Beispiel:

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()

Ruft die aktuelle Server-URL ab.

Gibt zurück:

  • String - Die aktuelle Server-URL

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
String serverUrl = options.getServerUrl(); // Returns default "https://axe.deque.com"

getBuildId()

Ruft die aktuelle Build-ID ab.

Gibt zurück:

  • String - Die aktuelle Build-ID

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setBuildId("build-123");
String buildId = options.getBuildId(); // Returns "build-123"

getAutoAnalyze()

Ruft ab, ob die automatische Analyse aktiviert ist.

Gibt zurück:

  • boolean - Ob die automatische Analyse aktiviert ist

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
boolean autoAnalyze = options.getAutoAnalyze(); // Returns true (default)

getRunContext()

Ruft den aktuellen Ausführungskontext ab.

Gibt zurück:

  • AxeRunContext - Der aktuelle Ausführungskontext

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunContext context = new AxeRunContext();
options.setRunContext(context);
AxeRunContext currentContext = options.getRunContext();

getRunOptions()

Ruft die aktuellen Laufoptionen ab.

Gibt zurück:

  • AxeRunOptions - Die aktuellen Laufoptionen

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunOptions runOptions = new AxeRunOptions();
options.setRunOptions(runOptions);
AxeRunOptions currentOptions = options.getRunOptions();

getExcludeUrlPatterns()

Ruft die aktuellen auszuschließenden URL-Muster ab.

Gibt zurück:

  • String[] - Die aktuellen auszuschließenden URL-Muster

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setExcludeUrlPatterns(new String[] {"https://example.com/login*"});
String[] patterns = options.getExcludeUrlPatterns();

getGit()

Ruft ab, ob die Sammlung von Git-Informationen aktiviert ist.

Gibt zurück:

  • boolean - true, wenn die Git-Info-Sammlung aktiviert ist (Standard), false wenn deaktiviert

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
boolean git = options.getGit(); // Returns true (default)

getGitInfo()

Ruft die aktuell konfigurierte explizite Git-Metadaten ab oder null, wenn keine expliziten Metadaten gesetzt wurden.

Gibt zurück:

  • AxeWatcherGitInfo - Die aktuellen expliziten Git-Metadaten, oder null, wenn keine gesetzt sind

Beispiel:

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

getConfigurationOverrides()

Ruft die aktuellen Konfigurationsüberschreibungen ab.

Gibt zurück:

  • ConfigurationOverrides - Die aktuellen Konfigurationsüberschreibungen

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
ConfigurationOverrides overrides = new ConfigurationOverrides();
options.setConfigurationOverrides(overrides);
ConfigurationOverrides current = options.getConfigurationOverrides();

getTakeScreenshots()

Ruft ab, ob die Aufnahme von Screenshots aktiviert ist.

Gibt zurück:

  • boolean - true, wenn bei festgestellten Verstößen Screenshots aufgenommen werden, false andernfalls

Beispiel:

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

getScreenshotDir()

Ruft das aktuelle Screenshot-Verzeichnis ab, oder null, wenn kein lokales Speicherverzeichnis festgelegt wurde.

Gibt zurück:

  • String - Das aktuelle Screenshot-Verzeichnis, oder null

Beispiel:

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

getElementInternals()

Ermittelt, ob die Unterstützung für ElementInternals aktiviert ist.

Gibt zurück:

  • boolean - true, wenn die Unterstützung für ElementInternals aktiviert ist, false andernfalls

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions();
boolean enabled = options.getElementInternals(); // Returns false (default)

toJson()

Serialisiert die AxeWatcherOptions Instanz in einen JSON-String.

Gibt zurück:

  • String - Eine JSON-String-Darstellung der Optionen

Löst aus:

  • RuntimeException - Wenn configurationOverrides und runOptions.runOnly zusammen verwendet werden (diese schließen sich gegenseitig aus)

Beispiel:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setApiKey("my-api-key")
    .setProjectId("my-project-id")
    .setServerUrl("https://custom.axe-instance.com");
String json = options.toJson();

Einschränkungen bei der Konfiguration

Bei der Konfiguration von AxeWatcherOptions beachten Sie die folgenden Einschränkungen:

  1. Der API-Schlüssel ist erforderlich:

    options.setApiKey("your-api-key"); // Required
  2. Die Projekt-ID ist erforderlich:

    options.setProjectId("your-project-ID"); // Required
  3. Gegenseitig ausschließende Optionen:

    Sie können nicht sowohl runOptions.runOnly als auch configurationOverrides.accessibilityStandard gemeinsam verwenden. Wenn Sie einen bestimmten Barrierefreiheitsstandard festlegen müssen, verwenden Sie ConfigurationOverrides, wie unten gezeigt:

    // 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")))
    );

Siehe auch