Controlando a Análise de Páginas
O modo manual do Watcher permite que você escolha quando ou quais páginas do seu site serão analisadas para problemas de acessibilidade
Normalmente, o axe Developer Hub analisa automaticamente cada página visitada pelo seu conjunto de testes (conhecido como modo automático). Às vezes, essa análise automática resulta em muitas páginas sendo analisadas, páginas que não são do seu interesse sendo analisadas, ou páginas de outros departamentos da sua organização—páginas sobre as quais sua equipe não tem responsabilidade—sendo analisadas. Você pode desativar o modo automático, assim você determina quando (ou se) cada página deve ser analisada (conhecido como modo manual).
Cenários
Analisando Partes de um Site
Você pode usar o modo manual para analisar apenas parte de um site. Por exemplo, se sua equipe é responsável pela funcionalidade do carrinho de compras no seu site, mas o seu conjunto de testes precisa visitar páginas do catálogo (que sua equipe não possui) para adicionar produtos ao carrinho, você provavelmente vai querer evitar testar a acessibilidade das páginas do catálogo. Quando chegar à página do carrinho de compras no seu conjunto de testes, você pode reativar a análise automática. Depois, quando os testes do carrinho de compras estiverem completos, você poderá desativar novamente a análise automática.
Próximas Etapas
- Desativar Análise Automática na Configuração para evitar testar as páginas do catálogo.
- Ativar Análise Automática para sua página de carrinho de compras.
- Desativar Análise Automática via Chamada no final dos testes da sua página de carrinho de compras para impedir que as páginas visitadas após a página do carrinho sejam testadas.
Carregamento de Conteúdo Dinâmico
Você pode usar o modo manual para evitar testar páginas com sequências de carregamento complexas. Se a página que você deseja testar carrega dinamicamente muitos recursos em segundo plano, você pode desligar o modo automático até que ela esteja totalmente carregada. Isso limitará os problemas de acessibilidade àqueles que existem apenas quando a página está totalmente carregada. Também evitaria verificações de acessibilidade durante animações de carregamento ou outras interfaces de carregamento.
Próximas Etapas
- Desativar Análise Automática na Configuração para que as animações de carregamento e a interface do usuário não sejam testadas quanto a erros de acessibilidade.
- Ativar Análise Automática para retomar os testes automáticos de acessibilidade assim que a página estiver completamente carregada.
Capturando Estados Específicos de Página
Se você quiser garantir que um estado de página específico seja analisado, você pode acionar manualmente uma análise de acessibilidade após configurar sua página.
Próximas Etapas
- Desativar Análise Automática na Configuração para impedir que a análise de acessibilidade ocorra antes que a página esteja no estado que você deseja.
- Analisar Páginas Manualmente para testar o estado específico da página que você deseja.
Limitando o Escopo de um Grande Conjunto de Testes
Desativando a análise automática, você pode usar um conjunto de testes maior e mais abrangente, mas limitar seus testes de acessibilidade a apenas uma parte dele. Nesse caso, você não precisa dividir seu conjunto de testes maior em conjuntos de testes menores e apenas testar a acessibilidade nos conjuntos de testes que lhe interessam.
Próximas Etapas
- Desativar Análise Automática na Configuração para impedir que a análise automática de acessibilidade comece no início do seu conjunto de testes.
- Ativar Análise Automática quando você chegar à parte do seu conjunto de testes que deseja testar.
- Desativar Análise Automática via Chamada para desativar o teste de acessibilidade para partes do conjunto de testes que você não deseja verificar quanto a erros de acessibilidade.
Como Usar o Modo Manual
Você pode desativar a análise automática na sua configuração (veja Desativar Análise Automática na Configuração abaixo).
A análise de páginas é controlada por três métodos no objeto Controller ou pelos comandos equivalentes no Cypress.
- analisar() (em Cypress: **cy.axeWatcherAnalyze**()) para realizar uma análise da página atual.
- **iniciar**() (em Cypress: **cy.axeWatcherStart**()) para habilitar a análise automática de acessibilidade.
- **parar**() (em Cypress: **cy.axeWatcherStop**()) para desativar a análise automática de acessibilidade.
Obtendo um Objeto Controller
(JavaScript/TypeScript) Para informações sobre como obter um **Controller** objeto, consulte **etapa quatro** da página de instruções do seu framework de teste:
**JavaScript**:
**TypeScript**:
(Java) Para Java, veja **etapa três** da página de instruções do framework de teste. **Etapa quatro** mostra como converter o **wrappedDriver** para chamar seu método **flush()** :
Cypress
(JavaScript/TypeScript) Para Cypress, você pode usar o objeto global **cy** com estes comandos equivalentes:
| Método do Controller | Comando do Cypress |
|---|---|
| **analisar**() | **axeWatcherAnalyze**() |
| **flush**() | **axeWatcherFlush**() |
| **start**() | **axeWatcherStart**() |
| **stop**() | **axeWatcherStop**() |
Teste do Playwright
(JavaScript/TypeScript) Para o Playwright Test, o **Controller** objeto (**PlaywrightController**) pode ser obtido a partir de **page**, que contém um **axeWatcher** . Você pode usar o **axeWatcher** para invocar os métodos do **Controller** (exemplo abaixo em TypeScript):
import { test, expect } from './fixtures'
test('example test', async ({ page }) => {
await page.goto('https://example.com')
await page.axeWatcher.analyze()
})Desativar a Análise Automática na Configuração
Você pode desativar o teste automático de acessibilidade
- (JavaScript/TypeScript) Definindo a
autoAnalyzepropriedade no objeto de configuração axe parafalse. - (Java) Chamando o
setAutoAnalyze()método comfalse.
(JavaScript/TypeScript) Por exemplo, você define **autoAnalyze** para *false* na sua configuração (a linha está destacada no exemplo de JavaScript do Cypress abaixo):
const { defineConfig } = require('cypress');
const { cypressConfig } = require('@axe-core/watcher/cypress/config');
const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY
const PROJECT_ID = process.env.PROJECT_ID
module.exports = defineConfig(
cypressConfig({
axe: {
apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID,
autoAnalyze: false
},
// Your existing Cypress configuration code here
})
);Desativar a Análise Automática por Meio de uma Chamada
Com Cypress, você pode usar o comando **axeWatcherStop**():
cy.axeWatcherStop()(JavaScript/TypeScript) As outras integrações de teste usam o método **stop**() no seu objeto Controller:
await controller.stop()(Java) Na integração do Java Watcher, você usa o AxeWatcherController.stop() método.
Veja Obtendo um Objeto Controlador para mais informações sobre como obter um objeto controlador para o seu framework de teste.
Analisar Páginas Manualmente
Após desativar a análise automática, você pode adicionar chamadas para (JavaScript/TypeScript) axeWatcherAnalyze() (para Cypress) ou analyze() (com as outras integrações de teste). (Java) Para Java, você usa o AxeWatcherController.analyze()](dh-java-watchercontroller#analyze) método.
Por exemplo, para Cypress:
describe('My Login Application', () => {
it('should login with valid credentials', () => {
cy.visit('https://the-internet.herokuapp.com/login')
// Analyze the page.
.axeWatcherAnalyze() .get('#username')
.type('tomsmith')
.get('#password')
.type('SuperSecretPassword!')
.get('button[type="submit"]')
.click()
.wait(1000)
// Analyze the page.
.axeWatcherAnalyze() // Restart automatic axe analysis.
.axeWatcherStart()
.get('#flash')
.should('exist')
})
})Veja Obtendo um Objeto Controlador para mais informações sobre como obter um objeto controlador para o seu framework de teste.
Ativar Análise Automática
Com o Cypress, você pode usar o comando axeWatcherStart :
cy.axeWatcherStart()As outras integrações de teste usam o método start no seu objeto Controlador:
await controller.start()Veja Obtendo um Objeto Controlador para mais informações sobre como obter um objeto controlador para o seu framework de teste.
Veja Também
- (JavaScript/TypeScript) Para dois exemplos funcionais de testes em modo manual (para Cypress e Playwright), veja os seguintes exemplos no repositório watcher-examples no GitHub:
- Para Cypress, veja Cypress manual-mode
- Para Playwright, veja Playwright manual-mode
