AxeWatcherOptions-Klasse
Konfigurieren Sie Axe Watcher für Barrierefreiheitstests in Selenium- und Playwright-Java-Tests mit anpassbaren Optionen
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.comautoAnalyze:truegit: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 projectsetServerUrl(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 Sienull, 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 Sienulloder 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 IDgetServerUrl()
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, odernull, wenn keine gesetzt sind
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions()
.setGitInfo(new AxeWatcherGitInfo().setBranch("main"));
AxeWatcherGitInfo gitInfo = options.getGitInfo(); // Returns the configured AxeWatcherGitInfogetConfigurationOverrides()
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,falseandernfalls
Beispiel:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);
boolean takeScreenshots = options.getTakeScreenshots(); // Returns truegetScreenshotDir()
Ruft das aktuelle Screenshot-Verzeichnis ab, oder null, wenn kein lokales Speicherverzeichnis festgelegt wurde.
Gibt zurück:
String- Das aktuelle Screenshot-Verzeichnis, odernull
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,falseandernfalls
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- WennconfigurationOverridesundrunOptions.runOnlyzusammen 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:
-
Der API-Schlüssel ist erforderlich:
options.setApiKey("your-api-key"); // Required -
Die Projekt-ID ist erforderlich:
options.setProjectId("your-project-ID"); // Required -
Gegenseitig ausschließende Optionen:
Sie können nicht sowohl
runOptions.runOnlyals auchconfigurationOverrides.accessibilityStandardgemeinsam verwenden. Wenn Sie einen bestimmten Barrierefreiheitsstandard festlegen müssen, verwenden SieConfigurationOverrides, 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"))) );
