Overzicht van de Java Watcher API's
Informatie over de API's 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 Java-testsuites. Deze integratie analyseert automatisch webpagina's op toegankelijkheidsproblemen en stuurt de resultaten naar de Axe Developer Hub voor tracking en analyse.
Kerncomponenten
Belangrijkste Klassen
AxeWatcher - Het primaire toegangspunt voor de integratie. Deze klasse beheert de configuratie van browseropties en het omhulsel van WebDriver-instanties om toegankelijkheidstesten mogelijk te maken.
AxeWatcherOptions - Configuratieklasse die definieert hoe Axe Watcher werkt, inclusief API-sleutels, server-URL's, build-ID's voor parallelle testen en verschillende testgedragingen.
ConfigurationOverrides - Staat het overschrijven van globale toegankelijkheidsconfiguratie-instellingen toe, waaronder toegankelijkheidsstandaarden (WCAG 2.1 AA, WCAG 2.2 AA, enz.), best practices en experimentele regels.
Driverintegratie
AxeWatcherDriver - Interface die de standaard Selenium WebDriver uitbreidt om toegang te geven tot toegankelijkheidstestfunctionaliteit via de axeWatcher() methode.
AxeWatcherController - Biedt fijnmazige controle over wanneer en hoe toegankelijkheidsanalyse plaatsvindt, met methoden om testresultaten te starten, te stoppen, te analyseren en te wissen.
Configuratieklassen
Runtime-opties
AxeRunOptions - Beheert geavanceerd runtimegedrag van de axe-core engine, inclusief regelconfiguraties en afstammingsinformatie voor overtredingen.
AxeRunOnly - Beperkt welke toegankelijkheidsregels worden uitgevoerd door regel-ID's of tags te specificeren (bijv. "wcag21aa", "best-practice").
AxeRunContext - Bepaalt de testomvang door specifieke DOM-elementen in of uit te sluiten met behulp van CSS-selectors.
AxeRuleOptions - Schakelt individuele toegankelijkheidsregels in of uit op basis van 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
Aangepaste Toegankelijkheidsstandaarden
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);Gerichte Tests
// 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 niet zowel
ConfigurationOverrides.accessibilityStandardalsAxeRunOptions.runOnlytegelijkertijd gebruiken - Browsers Beperkingen: Ondersteunt geen volledige headless modus of incognitomodus
- Methoden Volgorde: Moet worden aangeroepen
configure()voordat ChromeDriver wordt gemaakt, enwrapDriver()daarna - Resultaten Wissen: Altijd aanroepen in de teardown van de test om ervoor te zorgen dat resultaten worden verzonden naar de Axe Developer Hub
controller.flush() - Frame-beperkingen: Controller-methoden 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-testsuites met minimale codewijzigingen.
