Classe AxeWatcherOptions
Configure o axe Watcher para testes de acessibilidade em testes Selenium Java com opções personalizáveis
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.comautoAnalyze:truegit: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 projectsetServerUrl(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 IDgetServerUrl()
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 desabilitadatrue
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- SeconfigurationOverrideserunOptions.runOnlyforem 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:
-
A chave API é obrigatória:
options.setApiKey("your-api-key"); // Required -
O ID do Projeto é obrigatório:
options.setProjectId("your-project-ID"); // Required -
Opções mutuamente exclusivas:
Você não pode usar ambos
runOptions.runOnlyeconfigurationOverrides.accessibilityStandardjuntos. Se precisar definir um padrão de acessibilidade específico, useConfigurationOverridescomo 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"))) );
