Acelera Tus Pruebas
Técnicas para reducir el tiempo que Axe Watcher agrega a tu suite de pruebas de extremo a extremo
Integrar Axe Watcher en tu suite de pruebas de extremo a extremo agrega tiempo porque Watcher analiza cada página que visitan tus pruebas. Si ese coste extra se convierte en un problema, las técnicas a continuación te permiten reducirlo sin renunciar a la cobertura que te importa.
Excluye las Páginas que No Necesitas Probar
Si tu suite de pruebas visita páginas que no necesitas probar para accesibilidad (páginas de inicio de sesión, páginas de terceros, paneles de administración, flujos de pago gestionados por otro equipo), puedes omitirlas completamente usando excludeUrlPatterns. Omitir páginas enteras es la forma más efectiva de reducir el tiempo de prueba.
JavaScript o TypeScript:
axe: {
excludeUrlPatterns: [ 'https://example.com/login*', 'https://example.com/admin/**' ]
}Java:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setExcludeUrlPatterns(new String[] {
"https://example.com/login*",
"https://example.com/admin/**"
});Consulta Excluir URL de Análisis para obtener la sintaxis de patrones y ejemplos de coincidencias.
Limitar el Análisis a Secciones Específicas de la Página
En lugar de analizar toda la página, utiliza runContext para centrarte en la sección que tu prueba abarca. Por ejemplo, si una prueba solo cubre el formulario de pago, no hay necesidad de analizar la navegación, el pie de página o la barra lateral.
JavaScript o TypeScript:
axe: {
runContext: {
include: '.checkout-form',
exclude: '.site-navigation'
}
}Java:
AxeRunContext context = new AxeRunContext()
.setInclude(Arrays.asList(".checkout-form"))
.setExclude(Arrays.asList(".site-navigation"));
AxeWatcherOptions options = new AxeWatcherOptions();
options.setRunContext(context);Cuando especificas elementos a incluir a través de runContext, Axe Watcher analiza solo los elementos coincidentes. Si un selector no coincide con nada en la página, no se analizará nada y no se capturará el estado de la página. Verifica bien tus selectores antes de implementar esta configuración.
Consulta (JavaScript/TypeScript) runContext o (Java) AxeRunContext para más información.
Desactivar Reglas Costosas
Algunas reglas de axe-core son computacionalmente costosas. La regla color-contrast, por ejemplo, requiere que el navegador calcule el color renderizado de cada elemento de texto visible en la página, lo cual puede agregar un tiempo significativo en páginas con mucho contenido.
Puedes desactivar reglas específicas utilizando runOptions.rules:
JavaScript o TypeScript:
axe: {
runOptions: {
rules: {
'color-contrast': { enabled: false }
}
}
}Java:
Map<String, AxeRuleOptions> rules = new HashMap<>();
rules.put("color-contrast", new AxeRuleOptions().setEnabled(false));
AxeRunOptions runOptions = new AxeRunOptions();
runOptions.setRules(rules);
AxeWatcherOptions options = new AxeWatcherOptions();
options.setRunOptions(runOptions);Desactivar una regla significa que los problemas detectados por esa regla no aparecerán en tus resultados. Considera ejecutar las reglas desactivadas en una suite de pruebas separada y dedicada en lugar de omitirlas permanentemente.
Usar runOptions.rules (o runOnly) genera una advertencia porque esas configuraciones pueden entrar en conflicto con la configuración global de Axe de tu organización. Consulta Usando runOptions con runOnly o Rules.
Consulta (JavaScript/TypeScript) runOptions o (Java) AxeRunOptions para más información.
Usa el Modo Manual para Controlar Qué Pruebas Analizan Páginas
Por defecto, Watcher analiza automáticamente cada página que visitan tus pruebas. Si la mayoría de tu suite de pruebas visita páginas que no necesitas verificar, puedes desactivar el análisis automático globalmente y activarlo solo en las pruebas que lo necesitan.
JavaScript o TypeScript:
axe: {
autoAnalyze: false
}Java:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setAutoAnalyze(false);Con el análisis automático desactivado, llamas a analyze() explícitamente donde necesitas un resultado y utilizas start() / stop() para delimitar secciones de tu suite de pruebas donde deseas que el análisis automático se reanude.
Consulta Controla Tus Escaneos para obtener instrucciones completas y ejemplos.
Ejecuta Pruebas en Paralelo
Si tu infraestructura de pruebas admite la ejecución en paralelo, ejecutar tu suite de pruebas con múltiples trabajadores reduce el tiempo total de ejecución. Watcher admite corredores de pruebas en paralelo; solo necesitas asegurarte de que cada trabajador comparta el mismo buildID no nulo para que sus resultados se combinen en lugar de sobrescribirse.
Consulta Ejecutar Pruebas en Paralelo para obtener instrucciones de configuración.
Resumen
| Técnica | Mejor para | Compromiso |
|---|---|---|
| Excluir páginas | Páginas que tu equipo no posee o no necesita probar | Podrían faltar páginas importantes por error |
| Limitar secciones de la página | Páginas grandes donde solo una parte es relevante para tu prueba | Problemas fuera de las secciones seleccionadas no se encuentran |
| Desactivar reglas costosas | Los equipos encuentran que ciertas reglas costosas no se aplican a su situación | Esas reglas no se ejecutan en esta suite de pruebas |
| Modo manual | Suites de pruebas que visitan muchas páginas irrelevantes para las pruebas de accesibilidad | Requiere llamadas explícitas analyze() / start() / stop() en el código de prueba |
| Pruebas paralelas | Equipos con infraestructura de CI que soporta trabajadores en paralelo | Requiere coordinar buildID entre los trabajadores |
