Overzicht van de Java Watcher APIs

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 APIs 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 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

  1. Wederzijds Exclusieve Opties: Kan ConfigurationOverrides.accessibilityStandard en AxeRunOptions.runOnly niet tegelijkertijd gebruiken
  2. Browserbeperkingen: Ondersteunt geen volledige headless-modus of incognitomodus
  3. Methodevolgorde: Moet configure() aanroepen voordat ChromeDriver wordt aangemaakt, en wrapDriver() daarna
  4. Resultaten Doorspoelen: Roep altijd controller.flush() aan in de testafbraak om ervoor te zorgen dat resultaten naar Axe Developer Hub worden verzonden
  5. 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.