AxeWatcher Klasse
De hoofdklasse voor het integreren van Axe toegankelijkheidstesten in Selenium Java test-suites (gebruik AxeWatcherPlaywright voor Playwright)
De AxeWatcher-klasse is de kerncomponent van de Axe Watcher Selenium Java-integratie, waarmee je eenvoudig toegankelijkheidstesten kunt toevoegen aan je bestaande end-to-end testsuites. Deze klasse biedt methoden om browseropties te configureren en WebDriver-instanties te omhullen om toegankelijkheidsanalyse tijdens geautomatiseerd testen mogelijk te maken.
configure() en wrapDriver() bieden elk een overload per browser: geef ChromeOptions en ChromeDriver door om te testen in Chrome voor Testing of Chromium, of EdgeOptions en EdgeDriver om te testen in Microsoft Edge. Microsoft Edge vereist Watcher 4.5.1 of later en Selenium 4 of later.
Wanneer geïntegreerd in je testframework, doet Axe Watcher het volgende:
- Analyseert automatisch webpagina's op toegankelijkheidsproblemen wanneer tests worden uitgevoerd
- Analyseert opnieuw pagina's bij detectie van DOM-wijzigingen
- Linkt Git-commits aan toegankelijkheidsresultaten
- Stuurt toegankelijkheidsresultaten naar de Axe Developer Hub voor tracking en analyse
Constructor
AxeWatcher(AxeWatcherOptions options)
Creëert een nieuwe instantie van AxeWatcher met de gespecificeerde opties.
Parameters:
options- De configuratieopties voor Axe Watcher
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("your-api-key-here")
.setProjectId("your-project-ID-here")
.setServerUrl("https://axe.deque.com");
AxeWatcher watcher = new AxeWatcher(options);Methoden
configure(ChromeOptions chromeOptions)
Configureert ChromeOptions om toegankelijkheidstesten met Axe Watcher in te schakelen.
Deze methode moet worden aangeroepen voordat je een ChromeDriver instantie maakt.
Parameters:
chromeOptions- De bestaandeChromeOptionsinstantie om te configureren
Retourneert:
- Een nieuwe
ChromeOptions-instantie met toegepaste Axe Watcher-configuratie
Gooit:
IllegalArgumentException- Als de modus 'headless' of 'incognito' is ingeschakeld (Axe Watcher ondersteunt deze modi niet)
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
// Add any additional Chrome options here
ChromeOptions configuredOptions = watcher.configure(chromeOptions);
// Now create ChromeDriver with the configured options
ChromeDriver driver = new ChromeDriver(configuredOptions);configure(EdgeOptions edgeOptions)
Configureert EdgeOptions om toegankelijkheidstests mogelijk te maken met Axe Watcher in Microsoft Edge.
Deze methode moet worden aangeroepen voordat u een EdgeDriver-instantie aanmaakt. Microsoft Edge vereist Selenium 4 of later.
Parameters:
edgeOptions- De bestaandeEdgeOptionsinstantie om te configureren
Retourneert:
- Een nieuwe
EdgeOptions-instantie met toepasselijke Axe Watcher-configuratie. Alleen de opdrachtregelargumenten en het binaire pad worden overgenomen van de instantie die u doorgeeft, dus stel alle andere mogelijkheden in op de geretourneerde instantie voordat u deEdgeDrivermaakt.
Gooit:
IllegalArgumentException- Als de modus 'headless' of 'incognito' is ingeschakeld (Axe Watcher ondersteunt deze modi niet)IllegalStateException- Als uw project een versie vanselenium-javagebruikt die ouder is dan 4. Selenium 3'sEdgeOptionsricht zich op de oude EdgeHTML-browser, welke Axe Watcher niet ondersteunt.
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = new EdgeOptions();
// configure() carries over the arguments and the binary path set here;
// set any other capabilities on the returned instance instead
edgeOptions.addArguments("--window-size=1280,720");
EdgeOptions configuredOptions = watcher.configure(edgeOptions);
// Now create EdgeDriver with the configured options
EdgeDriver driver = new EdgeDriver(configuredOptions);wrapDriver(ChromeDriver chromeDriver)
Wikkelt een ChromeDriver instantie om toegankelijkheidstestfunctionaliteit mogelijk te maken.
Deze methode moet worden aangeroepen nadat configure() is gebruikt om de ChromeDriver op te zetten.
Parameters:
chromeDriver- DeChromeDriverinstantie om te wikkelen
Retourneert:
- Een gewikkelde
WebDriverinstantie met de toegankelijkheidstestfunctionaliteit ingeschakeld
Gooit:
RuntimeException- Alsconfigure()niet is aangeroepen voordat deze methode
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = watcher.configure(new ChromeOptions());
ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
// Wrap the ChromeDriver
WebDriver driver = watcher.wrapDriver(chromeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");wrapDriver(EdgeDriver edgeDriver)
Omwikkelt een EdgeDriver-instantie om toegankelijkheidstestfunctionaliteit mogelijk te maken.
Deze methode moet worden aangeroepen nadat configure() is gebruikt om de EdgeDriver op te zetten.
Parameters:
edgeDriver- DeEdgeDriverinstantie om te wikkelen
Retourneert:
- Een gewikkelde
WebDriverinstantie met de toegankelijkheidstestfunctionaliteit ingeschakeld
Gooit:
RuntimeException- Alsconfigure()niet is aangeroepen voordat deze methode
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options);
EdgeOptions edgeOptions = watcher.configure(new EdgeOptions());
EdgeDriver edgeDriver = new EdgeDriver(edgeOptions);
// Wrap the EdgeDriver
WebDriver driver = watcher.wrapDriver(edgeDriver);
// Now use the wrapped driver for testing
driver.get("https://example.com");enableDebugLogger()
Schakelt foutopsporingslogboekregistratie in voor Axe Watcher-operaties. Dit kan nuttig zijn voor het oplossen van problemen tijdens testontwikkeling.
Retourneert:
- De huidige
AxeWatcherinstantie voor method chaining
Voorbeeld:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options).enableDebugLogger();Notities en Beperkingen
- Axe Watcher ondersteunt geen volledige 'headless'-modus. Gebruik
--headless=newin plaats van--headlessals je 'headless'-werking nodig hebt. - Axe Watcher ondersteunt de incognitomodus niet.
- U moet
configure()aanroepen voordat u eenChromeDriver- ofEdgeDriver-instantie aanmaakt. - U moet
wrapDriver()aanroepen nadat u deChromeDriver- ofEdgeDriver-instantie hebt aangemaakt. - Microsoft Edge vereist Watcher 4.5.1 of later en Selenium 4 of later. Het Chrome pad (
ChromeOptions/ChromeDriver, gebruikt met Chrome voor Testing of Chromium) wordt ondersteund vanaf Selenium 3.141.59 en later. - Roep
flush()aan op de omhuldede driver van deaxeWatcher()in je test-teardown om ervoor te zorgen dat alle resultaten naar de Axe Developer Hub worden verzonden.
