AxeWatcherOptions Klasse
Configureer Axe Watcher voor toegankelijkheidstesten in Selenium- en Playwright-Javatests met aanpasbare opties
De AxeWatcherOptions-klasse biedt configuratieopties voor de Axe Watcher Selenium- en Playwright-Java-integraties. Deze klasse stelt je in staat om aan te passen hoe Axe Watcher toegankelijkheidstests uitvoert tijdens geautomatiseerde browsertests, inclusief serververbindingdetails, testuitvoeringsgedrag en toegankelijkheidsnormen.
Constructor
AxeWatcherOptions()
Creëert een nieuw exemplaar van AxeWatcherOptions met standaardinstellingen. De standaardwaarden zijn:
serverUrl:https://axe.deque.comautoAnalyze:truegit:true
AxeWatcherOptions options = new AxeWatcherOptions();Methoden
setApiKey(String apiKey)
Stelt de API-sleutel in om te verifiëren met Axe Developer Hub. Dit is vereist om Axe Watcher te gebruiken.
Parameters:
apiKey- Jouw Axe Developer Hub API-sleutel
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");setProjectId(String projectId)
Parameters:
projectId- Het project-ID van het project om toegankelijkheidsresultaten te ontvangen
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("your-project-ID-here"); // a uuid identifying the projectsetServerUrl(String serverUrl)
Stelt de server-URL in om toegankelijkheidsresultaten naar te sturen. Standaard is https://axe.deque.com.
Parameters:
serverUrl- URL van de server om toegankelijkheidsresultaten naar te sturen
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setServerUrl("https://custom.axe-instance.com");setBuildId(String buildId)
Stelt het build-ID in voor parallelle testuitvoerders. Wanneer niet null, maakt dit het mogelijk voor parallelle testuitvoerders om resultaten te genereren die verschijnen als een enkele testuitvoering in Axe Developer Hub.
Parameters:
buildId- Build-ID om resultaten onder te aggregeren, meestal een CI/CD build-ID
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
// Using a CI build ID from an environment variable
options.setBuildId(System.getenv("GITHUB_RUN_ID"));setAutoAnalyze(boolean autoAnalyze)
Stelt in of de te testen pagina automatisch moet worden geanalyseerd. Standaard is true.
Parameters:
autoAnalyze- Of de te testen pagina automatisch moet worden geanalyseerd
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
// Disable automatic analysis for manual control
options.setAutoAnalyze(false);setRunContext(AxeRunContext runContext)
Stelt de context van de te testen pagina in om de reikwijdte van wat wordt geanalyseerd te beperken of bepaalde elementen uit te sluiten van analyse.
Parameters:
runContext- Uitvoeringscontext voor axe-core analyse
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
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)
Stelt extra opties in voor axe-core analyse, zoals welke regels moeten worden uitgevoerd of uitgeschakeld.
Parameters:
runOptions- Uitvoeringsopties voor axe-core analyse
Retourneert:
AxeWatcherOptions- Het huidige exemplaar voor method chaining
Voorbeeld:
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)
Stelt URL-patronen in om van analyse uit te sluiten. Maakt gebruik van de Minimatch-bibliotheek om URL's te matchen.
Parameters:
excludeUrlPatterns- URL-patronen om van analyse uit te sluiten
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
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)
Stelt in of Watcher Git-informatie verzamelt voor de huidige testuitvoering. Standaard ingesteld op true. Stel in op false wanneer u werkt in omgevingen zonder Git, of wanneer Git-gegevensverzameling niet nodig is.
Parameters:
git- Of Git-informatie verzameld moet worden
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
// Disable Git info collection
options.setGit(false);setGitInfo(AxeWatcherGitInfo gitInfo)
Stelt expliciete Git-metadata in voor de huidige testuitvoering, waarmee automatische Git-detectie wordt omzeild. Gebruik dit wanneer uw tests in een repository draaien die gescheiden is van de te testen repository, of in CI-omgevingen waar Git-autodetectie onbetrouwbaar is (bijvoorbeeld ondiepe klonen of detached HEAD state).
Wanneer een niet-nul AxeWatcherGitInfo is ingesteld, heeft dit voorrang boven setGit(boolean) — de verstrekte metadata wordt verzonden zelfs als setGit(false) eerder is aangeroepen. Het doorgeven van null wist eerder ingestelde metadata en herstelt het gedrag dat wordt gecontroleerd door setGit(boolean).
Zie Git Metadata verstrekken en AxeWatcherGitInfo voor meer informatie.
Parameters:
gitInfo- Expliciete Git-metadata om te gebruiken. Geefnulldoor om eerder ingestelde metadata te wissen en terug te keren naar autodetectiegedrag.
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
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)
Stelt configuratie-overschrijvingen in op basis van de globale configuratie-instellingen van het Axe Account van uw organisatie.
Parameters:
configurationOverrides- Configuratie-overschrijvingen
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
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)
Stelt in of er een screenshot van de pagina wordt gemaakt wanneer er overtredingen worden gevonden.
Parameters:
takeScreenshots- Of screenshots moeten worden gemaakt wanneer er overtredingen worden gevonden (standaard:false)
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);setScreenshotDir(String screenshotDir)
Stelt de directory in waar screenshots lokaal worden opgeslagen, naast het uploaden naar Axe Developer Hub. Heeft geen effect tenzij setTakeScreenshots(true) ook is aangeroepen.
Wanneer ingesteld, worden screenshots geschreven naar {screenshotDir}/YYYYMMDDTHHmmssSSS-{screenshot_id}.png. Relatieve paden worden opgelost ten opzichte van de JVM-werkmap. Als het maken van de directory of het schrijven van bestanden mislukt, wordt er een waarschuwing gelogd en gaat de testsuite verder.
Parameters:
screenshotDir- Directory om screenshots naar op te slaan. Geefnullof een lege string door om lokaal opslaan uit te schakelen.
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions()
.setTakeScreenshots(true)
.setScreenshotDir("./axe-screenshots");setElementInternals(boolean elementInternals)
Schakelt ElementInternals-ondersteuning in voor aanpassingselementen. Wanneer ingeschakeld, verzamelt Axe Watcher ARIA-rollen en -eigenschappen die zijn ingesteld via de ElementInternals API, waardoor het aantal foutieve positieven op pagina's die aanpassingselementen gebruiken met attachInternals() wordt verminderd. Vereist axe-core versie 4.12.0 of later.
Parameters:
elementInternals- Of ElementInternals-ondersteuning moet worden ingeschakeld (standaard:false)
Retourneert:
AxeWatcherOptions- De huidige instantie voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions()
.setElementInternals(true);getApiKey()
Haalt de huidige API-sleutel op.
Retourneert:
String- De huidige API-sleutel
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("my-api-key");
String apiKey = options.getApiKey(); // Returns "my-api-key"getProjectId()
Haalt de huidige project-ID op. De project-ID identificeert het project dat axe Watcher toegankelijkheidsresultaten ontvangt.
Retourneert:
String- De huidige project-ID
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("my-project-ID"); // should be a uuid identifying the project
String projectId = options.getProjectId(); // Returns the project IDgetServerUrl()
Haalt de huidige server-URL op.
Retourneert:
String- De huidige server-URL
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
String serverUrl = options.getServerUrl(); // Returns default "https://axe.deque.com"getBuildId()
Haalt de huidige build-ID op.
Retourneert:
String- De huidige build-ID
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setBuildId("build-123");
String buildId = options.getBuildId(); // Returns "build-123"getAutoAnalyze()
Haalt op of automatische analyse is ingeschakeld.
Retourneert:
boolean- Of automatische analyse is ingeschakeld
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
boolean autoAnalyze = options.getAutoAnalyze(); // Returns true (default)getRunContext()
Haalt de huidige uitvoeringscontext op.
Retourneert:
AxeRunContext- De huidige uitvoeringscontext
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunContext context = new AxeRunContext();
options.setRunContext(context);
AxeRunContext currentContext = options.getRunContext();getRunOptions()
Haalt de huidige uitvoeringsopties op.
Retourneert:
AxeRunOptions- De huidige uitvoeringsopties
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunOptions runOptions = new AxeRunOptions();
options.setRunOptions(runOptions);
AxeRunOptions currentOptions = options.getRunOptions();getExcludeUrlPatterns()
Haalt de huidige URL-uitsluitingspatronen op.
Retourneert:
String[]- De huidige URL-uitsluitingspatronen
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setExcludeUrlPatterns(new String[] {"https://example.com/login*"});
String[] patterns = options.getExcludeUrlPatterns();getGit()
Haalt op of de verzameling van Git-informatie is ingeschakeld.
Retourneert:
boolean-trueals de verzameling van Git-info is ingeschakeld (standaard), onwaar als uitgeschakeld
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
boolean git = options.getGit(); // Returns true (default)getGitInfo()
Haalt de expliciete Git-metadata op die momenteel is geconfigureerd, of null als er geen expliciete metadata is ingesteld.
Retourneert:
AxeWatcherGitInfo- De huidige expliciete Git-metadata, ofnullals er geen is ingesteld
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions()
.setGitInfo(new AxeWatcherGitInfo().setBranch("main"));
AxeWatcherGitInfo gitInfo = options.getGitInfo(); // Returns the configured AxeWatcherGitInfogetConfigurationOverrides()
Haalt de huidige configuratie-overschrijvingen op.
Retourneert:
ConfigurationOverrides- De huidige configuratie-overschrijvingen
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
ConfigurationOverrides overrides = new ConfigurationOverrides();
options.setConfigurationOverrides(overrides);
ConfigurationOverrides current = options.getConfigurationOverrides();getTakeScreenshots()
Haalt op of het maken van schermafbeeldingen is ingeschakeld.
Retourneert:
boolean-trueals schermafbeeldingen worden gemaakt wanneer er overtredingen worden gevonden,falseanders
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);
boolean takeScreenshots = options.getTakeScreenshots(); // Returns truegetScreenshotDir()
Haalt de huidige schermafbeelding-directory op, of null als er geen lokale opslagdirectory is ingesteld.
Retourneert:
String- De huidige schermafbeelding-directory, ofnull
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions()
.setScreenshotDir("./screenshots");
String dir = options.getScreenshotDir(); // Returns "./screenshots"getElementInternals()
Bepaalt of ElementInternals-ondersteuning is ingeschakeld.
Retourneert:
boolean-trueindien ElementInternals-ondersteuning is ingeschakeld,falseanders
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
boolean enabled = options.getElementInternals(); // Returns false (default)toJson()
Serialiseert de AxeWatcherOptions instantie naar een JSON-string.
Retourneert:
String- Een JSON-stringweergave van de opties
Gooit:
RuntimeException- AlsconfigurationOverridesenrunOptions.runOnlysamen worden gebruikt (deze zijn wederzijds exclusief)
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("my-api-key")
.setProjectId("my-project-id")
.setServerUrl("https://custom.axe-instance.com");
String json = options.toJson();Configuratiebeperkingen
Bij het configureren van AxeWatcherOptions, houd rekening met de volgende beperkingen:
-
De API-sleutel is vereist:
options.setApiKey("your-api-key"); // Required -
De Project ID is vereist:
options.setProjectId("your-project-ID"); // Required -
Wederzijds exclusieve opties:
Je kunt niet zowel
runOptions.runOnlyalsconfigurationOverrides.accessibilityStandardsamen gebruiken. Als je een specifieke toegankelijkheidsstandaard moet instellen, gebruik danConfigurationOverrideszoals hieronder getoond:// 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"))) );
