Overzicht van de Java Watcher API's

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

Informatie over de API's aangeboden door Java Watcher en hoe deze te gebruiken

Not for use with personal data

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

  1. Wederzijds Exclusieve Opties: Kan niet zowel ConfigurationOverrides.accessibilityStandard als AxeRunOptions.runOnly tegelijkertijd gebruiken
  2. Browsers Beperkingen: Ondersteunt geen volledige headless modus of incognitomodus
  3. Methoden Volgorde: Moet worden aangeroepen configure() voordat ChromeDriver wordt gemaakt, en wrapDriver() daarna
  4. 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()
  5. 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.