Acelera tus pruebas

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

Técnicas para reducir el tiempo que Axe Watcher añade a tu conjunto de pruebas de extremo a extremo

Not for use with personal data

Integrar Axe Watcher en tu conjunto de pruebas de extremo a extremo añade tiempo porque Watcher analiza cada página que visitan tus pruebas. Si ese costo adicional se convierte en un problema, las técnicas a continuación te permiten reducirlo sin renunciar a la cobertura que te interesa.

Excluir páginas que no necesitas probar

Si tu conjunto 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 compra propiedad de otro equipo), puedes omitirlas por completo usando excludeUrlPatterns. Omitir páginas enteras es la forma más eficaz 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 URLs del análisis para conocer la sintaxis de patrones y ejemplos de coincidencias.

Limitar el análisis a secciones específicas de la página

En lugar de analizar la página completa, utiliza runContext para enfocarte en la sección que tu prueba abarca. Por ejemplo, si una prueba solo cubre el formulario de compra, no es necesario 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);
important

Cuando especificas elementos para incluir a través de runContext, Axe Watcher analiza solo los elementos que coinciden. Si un selector no encuentra coincidencias en la página, no se analizará nada y no se capturará el estado de la página. Verifica tus selectores antes de implementar esta configuración.

Consulta (JavaScript/TypeScript) runContext o (Java) AxeRunContext para más información.

Deshabilitar 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 que puede añadir un tiempo significativo en páginas con mucho contenido.

Puedes deshabilitar reglas específicas usando 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);
important

Deshabilitar una regla significa que los problemas detectados por esa regla no aparecerán en tus resultados. Considera ejecutar las reglas deshabilitadas en un conjunto de pruebas separado y dedicado 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 Usar 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 conjunto 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 necesiten.

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 necesites un resultado, y usas start() / stop() para delimitar las secciones de tu conjunto de pruebas donde deseas que el análisis automático se reanude.

Consulta Controla tus escaneos para obtener instrucciones completas y ejemplos.

Ejecutar pruebas en paralelo

Si su infraestructura de pruebas admite la ejecución en paralelo, ejecutar su conjunto de pruebas con múltiples trabajadores reduce el tiempo total de ejecución. Watcher admite ejecutores de pruebas en paralelo; solo necesita asegurarse de que cada trabajador comparta el mismo buildID no nulo para que sus resultados se combinen en lugar de ser sobrescritos.

Consulte Ejecución de pruebas en paralelo para obtener instrucciones de configuración.

Resumen

Técnica Ideal para Compensación
Excluir páginas Páginas que su equipo no posee o no necesita probar Páginas importantes podrían ser omitidas por error
Limitar secciones de páginas Páginas grandes donde solo una parte es relevante para su prueba No se encuentran problemas fuera de las secciones seleccionadas
Desactivar reglas costosas Los equipos descubren que ciertas reglas costosas no se aplican a su situación Esas reglas no se ejecutan en este conjunto de pruebas
Modo manual Conjuntos de pruebas que visitan muchas páginas irrelevantes para las pruebas de accesibilidad Requiere explícita analyze() / start() / stop() llamadas en el código de prueba
Pruebas en paralelo Equipos con infraestructura de CI que soporta trabajadores paralelos Requiere coordinar buildID entre trabajadores