Classe AxeWatcher
La classe principale per integrare i test di accessibilità axe nelle suite di test Java di Selenium (utilizzare AxeWatcherPlaywright per Playwright)
La classe AxeWatcher è il componente principale dell'integrazione Axe Watcher Selenium Java, che ti permette di aggiungere facilmente il test di accessibilità ai tuoi suite di test end-to-end esistenti. Questa classe fornisce metodi per configurare le opzioni del browser e avvolgere le istanze WebDriver per abilitare l'analisi dell'accessibilità durante i test automatici.
configure() e wrapDriver() forniscono ciascuno un overload per browser: passa ChromeOptions e ChromeDriver per testare in Chrome for Testing o Chromium, oppure EdgeOptions e EdgeDriver per testare in Microsoft Edge. Microsoft Edge richiede Watcher 4.5.1 o successivo e Selenium 4 o successivo.
Quando è integrato nel tuo framework di test, Axe Watcher:
- Analizza automaticamente le pagine web per problemi di accessibilità quando i test vengono eseguiti
- Ri-analizza le pagine al rilevamento di modifiche al DOM
- Collega i commit di Git ai risultati di accessibilità
- Invia i risultati dell'accessibilità a Axe Developer Hub per il monitoraggio e l'analisi
Costruttore
AxeWatcher(AxeWatcherOptions options)
Crea una nuova istanza di AxeWatcher con le opzioni specificate.
Parametri:
options- Le opzioni di configurazione per Axe Watcher
Esempio:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey("your-api-key-here")
.setProjectId("your-project-ID-here")
.setServerUrl("https://axe.deque.com");
AxeWatcher watcher = new AxeWatcher(options);Metodi
configure(ChromeOptions chromeOptions)
Configura ChromeOptions per abilitare il test di accessibilità con Axe Watcher.
Questo metodo deve essere chiamato prima di creare un'istanza di ChromeDriver.
Parametri:
chromeOptions- L'istanzaChromeOptionsesistente da configurare
Restituisce:
- Una nuova istanza
ChromeOptionscon la configurazione di Axe Watcher applicata
Lancia:
IllegalArgumentException- Se la modalità headless o incognito è abilitata (Axe Watcher non supporta queste modalità)
Esempio:
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)
Configura EdgeOptions per abilitare i test di accessibilità con Axe Watcher in Microsoft Edge.
Questo metodo deve essere chiamato prima di creare un'istanza di EdgeDriver. Microsoft Edge richiede Selenium 4 o successivo.
Parametri:
edgeOptions- L'istanzaEdgeOptionsesistente da configurare
Restituisce:
- Una nuova istanza di
EdgeOptionscon configurazione Axe Watcher applicata. Solo gli argomenti da riga di comando e il percorso binario vengono trasferiti dall'istanza che passi, quindi imposta tutte le altre capacità sull'istanza restituita prima di costruire ilEdgeDriver.
Lancia:
IllegalArgumentException- Se la modalità headless o incognito è abilitata (Axe Watcher non supporta queste modalità)IllegalStateException- Se il tuo progetto utilizza una versione diselenium-javaprecedente alla 4. IlEdgeOptionsdi Selenium 3 è destinato al browser legacy EdgeHTML, che Axe Watcher non supporta.
Esempio:
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)
Avvolge un'istanza ChromeDriver per abilitare le funzionalità di test di accessibilità.
Questo metodo deve essere chiamato dopo che configure() è stato usato per configurare ChromeDriver.
Parametri:
chromeDriver- L'istanzaChromeDriverda avvolgere
Restituisce:
- Un'istanza
WebDriveravvolta con funzionalità di test di accessibilità abilitate
Lancia:
RuntimeException- Seconfigure()non è stato chiamato prima di questo metodo
Esempio:
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)
Avvolge un'istanza di EdgeDriver per abilitare la funzionalità di test di accessibilità.
Questo metodo deve essere chiamato dopo che configure() è stato usato per configurare EdgeDriver.
Parametri:
edgeDriver- L'istanzaEdgeDriverda avvolgere
Restituisce:
- Un'istanza
WebDriveravvolta con funzionalità di test di accessibilità abilitate
Lancia:
RuntimeException- Seconfigure()non è stato chiamato prima di questo metodo
Esempio:
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()
Abilita il logging di debug per le operazioni di Axe Watcher. Questo può essere utile per risolvere problemi durante lo sviluppo dei test.
Restituisce:
- L'istanza attuale di
AxeWatcherper concatenare metodi
Esempio:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");
options.setProjectId("your-project-id-here");
AxeWatcher watcher = new AxeWatcher(options).enableDebugLogger();Note e Limitazioni
- Axe Watcher non supporta la modalità completamente headless. Usa
--headless=newinvece di--headlessse hai bisogno di modalità headless. - Axe Watcher non supporta la modalità incognito.
- Devi chiamare
configure()prima di creare un'istanza diChromeDriveroEdgeDriver. - Devi chiamare
wrapDriver()dopo aver creato l'istanza diChromeDriveroEdgeDriver. - Microsoft Edge richiede Watcher 4.5.1 o successivo e Selenium 4 o successivo. Il percorso di Chrome (
ChromeOptions/ChromeDriver, usato con Chrome for Testing o Chromium) è supportato su Selenium 3.141.59 o successivo. - Chiama
flush()sulaxeWatcher()del driver avvolto nel tuo teardown del test per assicurarti che tutti i risultati siano inviati a Axe Developer Hub.
