AxeWatcherController-Klasse
Bepaal wanneer en hoe toegankelijkheidstests worden uitgevoerd in je Selenium Java-tests met axe Watcher
De AxeWatcherController klasse geeft je gedetailleerde controle over wanneer en hoe axe Watcher toegankelijkheidsanalyses uitvoert tijdens je Selenium-tests. Het biedt methoden om testresultaten te starten, te stoppen, te analyseren en te wissen, waardoor je het testproces kunt aanpassen aan jouw specifieke behoeften.
Bij het uitvoeren van geautomatiseerde tests kan axe Watcher in twee modi werken:
- Automatische modus (standaard): Analyseert automatisch elke pagina die door je testsuite wordt bezocht
- Handmatige modus: Geeft je controle over welke pagina's en staten worden geanalyseerd
De AxeWatcherController is vooral nuttig wanneer je bepaalde pagina's wilt uitsluiten van analyse of je wilt richten op specifieke paginastaten.
Toegang tot de Controller
Je maakt geen instantie van AxeWatcherController direct. In plaats daarvan heb je er toegang toe via de omhulde WebDriver instantie:
WebDriver driver = watcher.wrapDriver(new ChromeDriver(chromeOptions));
AxeWatcherController controller = ((AxeWatcherDriver) driver).axeWatcher();Methoden
stop()
Stopt de automatische analyse van pagina's door axe Watcher. Na het aanroepen van deze methode zal axe Watcher pagina's niet automatisch analyseren totdat je start()aanroept.
Retourneert:
AxeWatcherController- De huidige instantie voor method chaining
Voorbeeld:
WebDriver driver = watcher.wrapDriver(new ChromeDriver(chromeOptions));
((AxeWatcherDriver) driver).axeWatcher().stop();
// These pages won't be analyzed automatically
driver.get("https://example.com/login");
driver.findElement(By.id("username")).sendKeys("testuser");
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.id("submit")).click();start()
Hervat de automatische analyse van pagina's door axe Watcher nadat deze is gestopt. Dit zal de automatische analyse van pagina's opnieuw activeren terwijl je test interactie heeft met de applicatie.
Retourneert:
AxeWatcherController- De huidige instantie voor method chaining
Voorbeeld:
WebDriver driver = watcher.wrapDriver(new ChromeDriver(chromeOptions));
// Disable automatic analysis for login process
((AxeWatcherDriver) driver).axeWatcher().stop();
driver.get("https://example.com/login");
driver.findElement(By.id("login-button")).click();
// Re-enable automatic analysis for the main application
((AxeWatcherDriver) driver).axeWatcher().start();
// These pages will be automatically analyzed
driver.findElement(By.id("dashboard-link")).click();
driver.findElement(By.id("settings-button")).click();analyze()
Activeert een handmatige toegankelijkheidsanalyse van de huidige pagina. Deze methode kan expliciet worden aangeroepen om een toegankelijkheidsscan op de huidige paginastatus te forceren, ongeacht of automatische analyse is ingeschakeld of uitgeschakeld.
Retourneert:
AxeWatcherController- De huidige instantie voor method chaining
Voorbeeld:
WebDriver driver = watcher.wrapDriver(new ChromeDriver(chromeOptions));
// Navigate to a page
driver.get("https://example.com");
// Open a modal dialog
driver.findElement(By.id("open-modal-button")).click();
// Explicitly analyze the page with the modal open
((AxeWatcherDriver) driver).axeWatcher().analyze();flush()
Stort de resultaten van de toegankelijkheidsanalyse naar axe Developer Hub. Deze methode moet aan het einde van elke test worden aangeroepen (meestal in een @AfterEach of equivalente methode) om ervoor te zorgen dat alle resultaten naar axe Developer Hub worden verzonden.
Retourneert:
AxeWatcherController- De huidige instantie voor method chaining
Voorbeeld:
@AfterEach
public void tearDown() {
if (driver instanceof AxeWatcherDriver) {
((AxeWatcherDriver) driver).axeWatcher().flush();
}
driver.quit();
}Method Chaining
Alle methoden in AxeWatcherController ondersteunen method chaining, waardoor je meerdere bewerkingen kunt combineren:
((AxeWatcherDriver) driver).axeWatcher()
.stop() // Stop automatic analysis
.analyze() // Perform a manual analysis
.start() // Resume automatic analysis
.flush(); // Flush results to axe Developer HubBelangrijke Opmerkingen
-
iFrames: Controllermethoden zoals
analyze(),start(), enstop()zullen niet werken wanneer ze worden aangeroepen vanuit een iframe. Zorg er altijd voor dat je in het bovenste niveau van de kaderstructuur aanwezig bent bij het gebruik van deze methoden. -
Pagina Protocollen: Controllermethoden zullen niet werken op pagina's met andere protocollen dan
http:,https:, offile:. -
Resultaten doorspelen: Roep altijd
flush()aan het einde van je tests om ervoor te zorgen dat alle toegankelijkheidsresultaten naar axe Developer Hub worden gestuurd.", "context": "paragraph -
Toestandsbewustzijn", "context": "strong text: De controller houdt zijn toestand bij, zodat het aanroepen van ", "context": "paragraph
stop()wanneer deze al gestopt is of ", "context": "paragraphstart()wanneer deze al gestart is geen effect heeft.", "context": "paragraph
