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

Configure o axe Watcher para testes de acessibilidade em testes Selenium Java com opções personalizáveis

Not for use with personal data

A classe AxeWatcherOptions fornece opções de configuração para a integração do axe Watcher com Selenium Java. Esta classe permite que você personalize como o axe Watcher realiza testes de acessibilidade durante testes automatizados de navegadores, incluindo detalhes de conexão com o servidor, comportamento de execução de testes e padrões de acessibilidade.

Construtor

AxeWatcherOptions()

Cria uma nova instância de AxeWatcherOptions com configurações padrão. Os valores padrão são:

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

Métodos

setApiKey(String apiKey)

Define a chave de API para autenticar com o axe Developer Hub. Isso é necessário para usar o axe Watcher.

Parâmetros:

  • apiKey - Sua chave de API do axe Developer Hub

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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

setProjectId(String projectId)

Parâmetros:

  • projectId - O ID do projeto para receber resultados de acessibilidade

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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

setServerUrl(String serverUrl)

Define a URL do servidor para enviar resultados de acessibilidade. O padrão é https://axe.deque.com.

Parâmetros:

  • serverUrl - URL do servidor para enviar os resultados de acessibilidade

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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

setBuildId(String buildId)

Define o ID de build para executores de teste paralelos. Quando não é nulo, isso permite que executores de teste paralelos gerem resultados que aparecem como uma única execução de teste no axe Developer Hub.

Parâmetros:

  • buildId - ID de build para agregar resultados, tipicamente um ID de build CI/CD

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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

setAutoAnalyze(boolean autoAnalyze)

Define se a página em teste deve ser analisada automaticamente. O padrão é true.

Parâmetros:

  • autoAnalyze - Se deve analisar automaticamente a página em teste

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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

setRunContext(AxeRunContext runContext)

Define o contexto da página em teste para limitar o escopo do que é analisado ou excluir certos elementos da análise.

Parâmetros:

  • runContext - Contexto de execução para análise axe-core

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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)

Define opções adicionais para análise axe-core, como quais regras executar ou desativar.

Parâmetros:

  • runOptions - Executar opções para análise axe-core

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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)

Define padrões de URL para excluir da análise. Usa a biblioteca Minimatch para corresponder URLs.

Parâmetros:

  • excludeUrlPatterns - Padrões de URL para excluir da análise

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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)

Define se o Watcher coleta informações do Git para a execução de teste atual. O padrão é true. Defina como false ao executar em ambientes sem Git, ou quando a coleta de dados do Git não for necessária.

Parâmetros:

  • git - Se devem ser coletadas informações do Git

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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

setConfigurationOverrides(ConfigurationOverrides configurationOverrides)

Define substituições de configuração com base nas configurações globais de conta do axe da sua organização.

Parâmetros:

  • configurationOverrides - Substituições de configuração

Retorna:

  • AxeWatcherOptions - A instância atual para encadeamento de métodos

Exemplo:

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);

getApiKey()

Obtém a chave API atual.

Retorna:

  • String - A chave API atual

Exemplo:

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

getProjectId()

Obtém o ID do projeto atual. O ID do projeto identifica o projeto que recebe os resultados de acessibilidade do axe Watcher.

Retorna:

  • String - O ID do projeto atual

Exemplo:

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()

Obtém a URL do servidor atual.

Retorna:

  • String - A URL do servidor atual

Exemplo:

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

getBuildId()

Obtém o ID da build atual.

Retorna:

  • String - O ID da build atual

Exemplo:

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

getAutoAnalyze()

Obtém se a análise automática está habilitada.

Retorna:

  • boolean - Se a análise automática está habilitada

Exemplo:

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

getRunContext()

Obtém o contexto de execução atual.

Retorna:

  • AxeRunContext - O contexto de execução atual

Exemplo:

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

getRunOptions()

Obtém as opções de execução atuais.

Retorna:

  • AxeRunOptions - As opções de execução atuais

Exemplo:

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

getExcludeUrlPatterns()

Obtém os padrões de exclusão de URLs atuais.

Retorna:

  • String[] - Os padrões de exclusão de URLs atuais

Exemplo:

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

getGit()

Obtém se a coleta de informações do Git está habilitada.

Retorna:

  • boolean - verdadeiro se a coleta de informações do Git estiver habilitada (padrão), falso se estiver desabilitada true

Exemplo:

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

getConfigurationOverrides()

Obtém as substituições de configuração atuais.

Retorna:

  • ConfigurationOverrides - As substituições de configuração atuais

Exemplo:

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

toJson()

Serializa a instância AxeWatcherOptions para uma string JSON.

Retorna:

  • String - Uma representação em string JSON das opções

Lança:

  • RuntimeException - Se configurationOverrides e runOptions.runOnly forem usados juntos (são mutuamente exclusivos)

Exemplo:

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

Limitações de Configuração

Ao configurar AxeWatcherOptions, esteja ciente das seguintes restrições:

  1. A chave API é obrigatória:

    options.setApiKey("your-api-key"); // Required
  2. O ID do Projeto é obrigatório:

    options.setProjectId("your-project-ID"); // Required
  3. Opções mutuamente exclusivas:

    Você não pode usar ambos runOptions.runOnly e configurationOverrides.accessibilityStandard juntos. Se precisar definir um padrão de acessibilidade específico, use ConfigurationOverrides como mostrado abaixo:

    // 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")))
    );

Veja Também