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.
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);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");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'istanzaChromeDriver. - Devi chiamare
wrapDriver()dopo aver creato l'istanzaChromeDriver. - Chiama
flush()sulaxeWatcher()del driver avvolto nel tuo teardown del test per assicurarti che tutti i risultati siano inviati a Axe Developer Hub.
