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 in Selenium Java, che ti consente di aggiungere facilmente i test di accessibilità alle tue suite di test end-to-end esistenti. Questa classe fornisce metodi per configurare le opzioni del browser e per avvolgere le istanze WebDriver al fine di abilitare l'analisi dell'accessibilità durante i test automatizzati.
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 di accessibilità all'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 i 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 di
ChromeOptionscon la configurazione 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 log 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. Utilizzare
--headless=newal posto di--headlessse necessiti di operazioni 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()sull'istanza avvolta del driveraxeWatcher()nel tuo test di teardown per garantire che tutti i risultati vengano inviati all'axe Developer Hub.
