Overzicht van de Java Watcher APIs
Informatie over de APIs aangeboden door Java Watcher en hoe deze te gebruiken
De Axe Watcher Java-integratie biedt een uitgebreide SDK voor het toevoegen van geautomatiseerde toegankelijkheidstests aan Selenium en Playwright Java-testsuites. Deze integratie analyseert webpagina's automatisch op toegankelijkheidsproblemen en stuurt resultaten naar de Axe Developer Hub voor tracking en analyse.
Kerncomponenten
Belangrijkste Klassen
AxeWatcher - Het primaire toegangspunt voor de Selenium-integratie. Deze klasse regelt de configuratie van browseropties en het omhullen van WebDriver-instanties om toegankelijkheidstests mogelijk te maken.
AxeWatcherPlaywright - Het primaire toegangspunt voor de Playwright-integratie. Behandelt de configuratie van LaunchPersistentContextOptions en het omhullen van Page-instanties.
AxeWatcherOptions - Configuratieklasse die definieert hoe Axe Watcher werkt, inclusief API-sleutels, server-URL's, build-ID's voor parallelle tests en diverse testgedragingen. Wordt gebruikt door zowel de Selenium als Playwright integraties.
AxeWatcherGitInfo - Bevat expliciete Git-metadata voor testruns waarbij automatische Git-detectie niet beschikbaar of onbetrouwbaar is. Geef door aan AxeWatcherOptions.setGitInfo() om automatische detectie te omzeilen.
ConfigurationOverrides - Staat het overschrijven van wereldwijde toegankelijkheidsconfiguratie-instellingen toe, inclusief toegankelijkheidsnormen (WCAG 2.1 AA, WCAG 2.2 AA, enz.), beste praktijken en experimentele regels.
Driverintegratie
AxeWatcherDriver - Interface die de standaard Selenium WebDriver uitbreidt om toegang te geven tot functionaliteit voor toegankelijkheidstests via de axeWatcher()-methode.
AxeWatcherController - Biedt fijnmazige controle over wanneer en hoe toegankelijkheidsanalyse in Selenium plaatsvindt, met methoden om testresultaten te starten, stoppen, analyseren en door te voeren.
AxeWatcherPlaywrightController - Biedt dezelfde controlemethoden voor Playwright, toegankelijk via de omhulde AxeWatcherPage.
Configuratieklassen
Runtime-opties
AxeRunOptions - Regelt geavanceerd runtime-gedrag van de axe-core-engine, inclusief regelconfiguraties en voorouderinformatie voor overtredingen.
AxeRunOnly - Beperkt welke toegankelijkheidsregels worden uitgevoerd door regel-ID's of tags op te geven (bijv. "wcag21aa", "best-practice").
AxeRunContext - Definieert de reikwijdte van testen door specifieke DOM-elementen op te nemen of uit te sluiten met behulp van CSS-selectors.
AxeRuleOptions - Schakelt individuele toegankelijkheidsregels in of uit op regel-ID.
Gebruik
Basisinstelling
// Configure options
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY")) // Required. Secret stored in an environment variable.
.setProjectId(System.getenv("PROJECT_ID")); // Required. Store in an environment variable for easy updates.
// Create watcher and configure Chrome
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = watcher.configure(new ChromeOptions());
ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
// Wrap driver for accessibility testing
WebDriver driver = watcher.wrapDriver(chromeDriver);
// Access the controller for manual control
AxeWatcherController controller = ((AxeWatcherDriver) driver).axeWatcher();Geavanceerde configuratie
Configureren voor een regionale of privécloudinstantie
Als uw organisatie een regionale, privécloud of on-premises Axe Developer Hub-instantie gebruikt, stel dan de server-URL in op de basis-URL van die instantie. Anders kunt u setServerUrl() weglaten en wordt de standaard https://axe.deque.com gebruikt.
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY"))
.setProjectId(System.getenv("PROJECT_ID"))
.setServerUrl(System.getenv("SERVER_URL")); // e.g., "https://axe-eu.deque.com"Aangepaste toegankelijkheidsnormen
ConfigurationOverrides overrides = new ConfigurationOverrides()
.setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA)
.setEnableBestPractices(true)
.setEnableExperimental(false);
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY")) // Required. Secret stored in an environment variable.
.setProjectId(System.getenv("PROJECT_ID")) // Required. Store in an environment variable for easy updates.
.setConfigurationOverrides(overrides);Selectieve regeluitvoering
// Run only specific accessibility tags
AxeRunOnly runOnly = new AxeRunOnly()
.setType("tag")
.setValues(Arrays.asList("wcag21aa", "best-practice"));
AxeRunOptions runOptions = new AxeRunOptions()
.setRunOnly(runOnly)
.setAncestry(true);
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY")) // Required. Secret stored in an environment variable.
.setProjectId(System.getenv("PROJECT_ID")) // Required. Store in an environment variable for easy updates.
.setRunOptions(runOptions);Gescope testen
// Include only specific elements
AxeRunContext context = new AxeRunContext()
.setInclude(Arrays.asList("#main-content", ".form-section"))
.setExclude(Arrays.asList("#header", "#footer"));
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("ACCESSIBILITY_API_KEY")) // Required. Secret stored in an environment variable.
.setProjectId(System.getenv("PROJECT_ID")) // Required. Store in an environment variable for easy updates.
.setRunContext(context);Belangrijke beperkingen
- Wederzijds Exclusieve Opties: Kan
ConfigurationOverrides.accessibilityStandardenAxeRunOptions.runOnlyniet tegelijkertijd gebruiken - Browserbeperkingen: Ondersteunt geen volledige headless-modus of incognitomodus
- Methodevolgorde: Moet
configure()aanroepen voordat ChromeDriver wordt aangemaakt, enwrapDriver()daarna - Resultaten Doorspoelen: Roep altijd
controller.flush()aan in de testafbraak om ervoor te zorgen dat resultaten naar Axe Developer Hub worden verzonden - Framebeperkingen: Controllermethoden werken niet binnen iframes of op niet-HTTP(S)-pagina's
Deze integratie biedt zowel automatische als handmatige testmodi, waarmee teams uitgebreide toegankelijkheidstests naadloos kunnen integreren in bestaande Selenium Java-testreeksen met minimale codewijzigingen.
