Classe AxeWatcherOptions

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Configura Axe Watcher per i test di accessibilità nei test Java di Selenium e Playwright con opzioni personalizzabili

Not for use with personal data

La classe AxeWatcherOptions fornisce opzioni di configurazione per le integrazioni di Axe Watcher con Selenium e Playwright Java. Questa classe consente di personalizzare come Axe Watcher esegue i test di accessibilità durante i test automatici del browser, inclusi i dettagli di connessione al server, il comportamento dell'esecuzione dei test e gli standard di accessibilità.

Costruttore

AxeWatcherOptions()

Crea una nuova istanza di AxeWatcherOptions con le impostazioni predefinite. I valori predefiniti sono:

  • serverUrl: https://axe.deque.com
  • autoAnalyze: true
  • git: true
AxeWatcherOptions options = new AxeWatcherOptions();

Metodi

setApiKey(String apiKey)

Imposta la chiave API per l'autenticazione con Axe Developer Hub. Questo è richiesto per utilizzare Axe Watcher.

Parametri:

  • apiKey - La tua chiave API di Axe Developer Hub

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("your-api-key-here");

setProjectId(String projectId)

Parametri:

  • projectId - L'ID del progetto del progetto per ricevere i risultati di accessibilità

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("your-project-ID-here"); // a uuid identifying the project

setServerUrl(String serverUrl)

Imposta l'URL del server a cui inviare i risultati di accessibilità. Il valore predefinito è https://axe.deque.com.

Parametri:

  • serverUrl - URL del server a cui inviare i risultati di accessibilità

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setServerUrl("https://custom.axe-instance.com");

setBuildId(String buildId)

Imposta l'ID build per i test runner paralleli. Quando non è nullo, questo consente ai test runner paralleli di generare risultati che appaiono come un singolo test nell'Axe Developer Hub.

Parametri:

  • buildId - ID build per aggregare i risultati, tipicamente un ID build di CI/CD

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Using a CI build ID from an environment variable
options.setBuildId(System.getenv("GITHUB_RUN_ID"));

setAutoAnalyze(boolean autoAnalyze)

Imposta se analizzare automaticamente la pagina sotto test. Il valore predefinito è true.

Parametri:

  • autoAnalyze - Se analizzare automaticamente la pagina sotto test

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Disable automatic analysis for manual control
options.setAutoAnalyze(false);

setRunContext(AxeRunContext runContext)

Imposta il contesto della pagina sotto test per limitare l'ambito dell'analisi o escludere alcuni elementi dall'analisi.

Parametri:

  • runContext - Contesto di esecuzione per l'analisi di axe-core

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Only analyze main content and exclude navigation
AxeRunContext context = new AxeRunContext()
    .setInclude(Arrays.asList("#main-content"))
    .setExclude(Arrays.asList("#navigation"));
options.setRunContext(context);

setRunOptions(AxeRunOptions runOptions)

Imposta opzioni aggiuntive per l'analisi di axe-core, come quali regole eseguire o disabilitare.

Parametri:

  • runOptions - Opzioni di esecuzione per l'analisi di axe-core

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Disable the color contrast rule and focus on WCAG 2.1 AA
Map<String, AxeRuleOptions> rules = new HashMap<>();
rules.put("color-contrast", new AxeRuleOptions().setEnabled(false));

AxeRunOnly runOnly = new AxeRunOnly()
    .setType("tag")
    .setValues(Arrays.asList("wcag21aa"));

AxeRunOptions runOptions = new AxeRunOptions()
    .setRules(rules)
    .setRunOnly(runOnly);

options.setRunOptions(runOptions);

setExcludeUrlPatterns(String[] excludeUrlPatterns)

Imposta i modelli URL da escludere dall'analisi. Utilizza la libreria Minimatch per confrontare gli URL.

Parametri:

  • excludeUrlPatterns - Modelli URL da escludere dall'analisi

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Exclude login pages and admin dashboard
options.setExcludeUrlPatterns(new String[] {
    "https://example.com/login*",
    "https://example.com/admin/*"
});

setGit(boolean git)

Stabilisce se Watcher raccoglie informazioni Git per l'esecuzione del test corrente. Il valore predefinito è true. Impostare su false quando si esegue in ambienti senza Git, o quando la raccolta dei dati Git non è necessaria.

Parametri:

  • git - Se raccogliere informazioni Git

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Disable Git info collection
options.setGit(false);

setGitInfo(AxeWatcherGitInfo gitInfo)

Imposta metadati Git espliciti per l'esecuzione del test corrente, aggirando il rilevamento automatico di Git. Usa questa opzione quando i tuoi test vengono eseguiti in un repository separato da quello sotto test, o in ambienti CI dove il rilevamento automatico di Git è inaffidabile (ad esempio, clonazioni superficiali o stato 'detached HEAD').

Quando viene impostato un AxeWatcherGitInfo non nullo, esso ha la precedenza su setGit(boolean) — i metadati forniti vengono inviati anche se setGit(false) è stata precedentemente chiamata. Passando null vengono cancellati i metadati precedentemente impostati e si ritorna al comportamento controllato da setGit(boolean).

Vedi Fornitura dei Metadati Git e AxeWatcherGitInfo per maggiori informazioni.

Parametri:

  • gitInfo - Metadati Git espliciti da usare. Passa null per cancellare i metadati precedentemente impostati e tornare al comportamento di auto-rilevamento.

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
    .setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
    .setGitInfo(new AxeWatcherGitInfo()
        .setCommitSha(System.getenv("GIT_COMMIT"))
        .setBranch(System.getenv("GIT_BRANCH"))
        .setDefaultBranch("main"));

setConfigurationOverrides(ConfigurationOverrides configurationOverrides)

Imposta le sovrascritture di configurazione in base alle impostazioni di configurazione globale dell'Account Axe della tua organizzazione.

Parametri:

  • configurationOverrides - Sovrascritture di configurazione

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
// Override to use WCAG 2.2 AA and enable best practices
ConfigurationOverrides overrides = new ConfigurationOverrides()
    .setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA)
    .setEnableBestPractices(true);
options.setConfigurationOverrides(overrides);

setTakeScreenshots(boolean takeScreenshots)

Stabilisce se catturare uno screenshot della pagina quando vengono trovate delle violazioni.

Parametri:

  • takeScreenshots - Se catturare screenshot quando vengono trovate violazioni (predefinito: false)

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);

setScreenshotDir(String screenshotDir)

Imposta la directory dove gli screenshot vengono salvati localmente, oltre ad essere caricati su Axe Developer Hub. Non ha effetto a meno che non venga chiamato anche setTakeScreenshots(true).

Quando impostato, gli screenshot vengono scritti in {screenshotDir}/YYYYMMDDTHHmmssSSS-{screenshot_id}.png. I percorsi relativi vengono risolti rispetto alla directory di lavoro della JVM. Se la creazione della directory o la scrittura del file fallisce, viene registrato un avviso e la suite di test continua.

Parametri:

  • screenshotDir - Directory in cui salvare gli screenshot. Passa null o una stringa vuota per disabilitare il salvataggio locale.

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setTakeScreenshots(true)
    .setScreenshotDir("./axe-screenshots");

setElementInternals(boolean elementInternals)

Abilita il supporto per ElementInternals per elementi personalizzati. Quando abilitato, Axe Watcher raccoglie i ruoli e le proprietà ARIA impostati tramite l'API ElementInternals, riducendo i falsi positivi su pagine che utilizzano elementi personalizzati con attachInternals(). Richiede la versione 4.12.0 o successiva di axe-core.

Parametri:

  • elementInternals - Se abilitare il supporto per ElementInternals (predefinito: false)

Restituisce:

  • AxeWatcherOptions - L'istanza corrente per concatenare i metodi

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setElementInternals(true);

getApiKey()

Ottiene la chiave API corrente.

Restituisce:

  • String - La chiave API corrente

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setApiKey("my-api-key");
String apiKey = options.getApiKey(); // Returns "my-api-key"

getProjectId()

Ottiene l'ID del progetto corrente. L'ID del progetto identifica il progetto che riceve i risultati dell'accessibilità di axe Watcher.

Restituisce:

  • String - L'ID del progetto corrente

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setProjectId("my-project-ID"); // should be a uuid identifying the project
String projectId = options.getProjectId(); // Returns the project ID

getServerUrl()

Ottiene l'URL del server corrente.

Restituisce:

  • String - L'URL del server corrente

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
String serverUrl = options.getServerUrl(); // Returns default "https://axe.deque.com"

getBuildId()

Ottiene l'ID della build corrente.

Restituisce:

  • String - L'ID della build corrente

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setBuildId("build-123");
String buildId = options.getBuildId(); // Returns "build-123"

getAutoAnalyze()

Ottiene se l'analisi automatica è abilitata.

Restituisce:

  • boolean - Se l'analisi automatica è abilitata

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
boolean autoAnalyze = options.getAutoAnalyze(); // Returns true (default)

getRunContext()

Ottiene il contesto di esecuzione corrente.

Restituisce:

  • AxeRunContext - Il contesto di esecuzione corrente

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunContext context = new AxeRunContext();
options.setRunContext(context);
AxeRunContext currentContext = options.getRunContext();

getRunOptions()

Ottiene le opzioni di esecuzione correnti.

Restituisce:

  • AxeRunOptions - Le opzioni di esecuzione correnti

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
AxeRunOptions runOptions = new AxeRunOptions();
options.setRunOptions(runOptions);
AxeRunOptions currentOptions = options.getRunOptions();

getExcludeUrlPatterns()

Ottiene gli schemi URL da escludere correnti.

Restituisce:

  • String[] - Gli schemi URL da escludere correnti

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setExcludeUrlPatterns(new String[] {"https://example.com/login*"});
String[] patterns = options.getExcludeUrlPatterns();

getGit()

Ottiene se la raccolta delle informazioni di Git è abilitata.

Restituisce:

  • boolean - true se la raccolta delle info di Git è abilitata (predefinito), false se disabilitata

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
boolean git = options.getGit(); // Returns true (default)

getGitInfo()

Ottiene i metadati Git espliciti attualmente configurati, o null se non sono stati impostati metadati espliciti.

Restituisce:

  • AxeWatcherGitInfo - I metadati Git espliciti correnti, o null se non impostati

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setGitInfo(new AxeWatcherGitInfo().setBranch("main"));
AxeWatcherGitInfo gitInfo = options.getGitInfo(); // Returns the configured AxeWatcherGitInfo

getConfigurationOverrides()

Ottiene le sovrascritture della configurazione corrente.

Restituisce:

  • ConfigurationOverrides - Le sovrascritture della configurazione corrente

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
ConfigurationOverrides overrides = new ConfigurationOverrides();
options.setConfigurationOverrides(overrides);
ConfigurationOverrides current = options.getConfigurationOverrides();

getTakeScreenshots()

Ottiene se la cattura degli screenshot è abilitata.

Restituisce:

  • boolean - true se gli screenshot vengono catturati quando vengono trovate violazioni, false altrimenti

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
options.setTakeScreenshots(true);
boolean takeScreenshots = options.getTakeScreenshots(); // Returns true

getScreenshotDir()

Ottiene la directory degli screenshot corrente, o null se non è stata impostata una directory di salvataggio locale.

Restituisce:

  • String - La directory degli screenshot corrente, o null

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setScreenshotDir("./screenshots");
String dir = options.getScreenshotDir(); // Returns "./screenshots"

getElementInternals()

Ottiene se il supporto a ElementInternals è abilitato.

Restituisce:

  • boolean - true se il supporto a ElementInternals è abilitato, false altrimenti

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions();
boolean enabled = options.getElementInternals(); // Returns false (default)

toJson()

Serializza l'istanza AxeWatcherOptions in una stringa JSON.

Restituisce:

  • String - Una stringa JSON che rappresenta le opzioni

Genera eccezioni:

  • RuntimeException - Se configurationOverrides e runOptions.runOnly sono usati insieme (sono mutuamente esclusivi)

Esempio:

AxeWatcherOptions options = new AxeWatcherOptions()
    .setApiKey("my-api-key")
    .setProjectId("my-project-id")
    .setServerUrl("https://custom.axe-instance.com");
String json = options.toJson();

Limitazioni della configurazione

Quando si configura AxeWatcherOptions, tenere presente le seguenti limitazioni:

  1. La chiave API è richiesta:

    options.setApiKey("your-api-key"); // Required
  2. È richiesto il Project ID:

    options.setProjectId("your-project-ID"); // Required
  3. Opzioni mutuamente esclusive:

    Non è possibile utilizzare insieme runOptions.runOnly e configurationOverrides.accessibilityStandard. Se è necessario impostare uno standard di accessibilità specifico, utilizzare ConfigurationOverrides come mostrato di seguito:

    // Correct: Using ConfigurationOverrides
    options.setConfigurationOverrides(
        new ConfigurationOverrides()
            .setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA)
    );
    
    // Correct: Using RunOptions.runOnly
    options.setRunOptions(
        new AxeRunOptions()
            .setRunOnly(new AxeRunOnly().setType("tag").setValues(Arrays.asList("wcag22aa")))
    );
    
    // Incorrect: Using both together will throw an exception
    options.setConfigurationOverrides(
        new ConfigurationOverrides()
            .setAccessibilityStandard(ConfigurationOverrides.AccessibilityStandard.WCAG22AA)
    ).setRunOptions(
        new AxeRunOptions()
            .setRunOnly(new AxeRunOnly().setType("tag").setValues(Arrays.asList("wcag21aa")))
    );

Vedi anche