Versnel Uw Tests
Technieken om de tijd die Axe Watcher toevoegt aan uw end-to-end testsuite te verminderen
Het integreren van Axe Watcher in uw end-to-end testsuite voegt tijd toe omdat Watcher elke pagina analyseert die uw tests bezoeken. Als deze overhead een probleem wordt, kunt u met de onderstaande technieken deze verminderen zonder in te boeten op de dekking die voor u belangrijk is.
Sluit Pagina's Uit Die U Niet Hoeft Te Testen
Als uw testsuite pagina's bezoekt die u niet op toegankelijkheid hoeft te testen (inlogpagina's, pagina's van derden, beheerdashboards, afrekenstromen die door een ander team worden beheerd), kunt u ze volledig overslaan met behulp van excludeUrlPatterns. Het overslaan van volledige pagina's is de meest effectieve manier om de testtijd te verminderen.
JavaScript of 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/**"
});Zie URL's uitsluiten van Analyse voor de syntaxis van patronen en voorbeeldvoorbeelden.
Beperk Analyse tot Specifieke Pagina Secties
In plaats van de hele pagina te analyseren, kunt u runContext gebruiken om u te richten op het gedeelte dat uw test behandelt. Als een test bijvoorbeeld alleen betrekking heeft op het afrekenformulier, hoeft u de navigatie, voettekst of zijbalk niet te analyseren.
JavaScript of 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);Wanneer u elementen aangeeft om op te nemen via runContext, analyseert Axe Watcher alleen de overeenkomende elementen. Als een selector niets op de pagina vindt, wordt er niets geanalyseerd en wordt er geen paginastatus vastgelegd. Controleer uw selectors goed voor u deze configuratie implementeert.
Zie (JavaScript/TypeScript) runContext of (Java) AxeRunContext voor meer informatie.
Schakel Kostbare Regels Uit
Sommige axe-core regels zijn computationeel kostbaar. De color-contrast-regel, bijvoorbeeld, vereist dat de browser de weergegeven kleur berekent van elk zichtbaar textelement op de pagina, wat veel tijd kan toevoegen op inhoudsrijke pagina's.
U kunt specifieke regels uitschakelen met runOptions.rules:
JavaScript of 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);Het uitschakelen van een regel betekent dat problemen die door die regel worden gevonden niet in uw resultaten verschijnen. Overweeg om uitgeschakelde regels in een aparte, speciale testsuite uit te voeren in plaats van ze permanent over te slaan.
Gebruik van runOptions.rules (of runOnly) genereert een waarschuwing omdat deze instellingen kunnen conflicteren met de globale Axe-configuratie van uw organisatie. Zie Gebruik runOptions met runOnly of Regels.
Zie (JavaScript/TypeScript) runOptions of (Java) AxeRunOptions voor meer informatie.
Gebruik de Handmatige Modus om te Bepalen Welke Tests Pagina's Analyseren
Standaard analyseert Watcher automatisch elke pagina die uw tests bezoeken. Als het grootste deel van uw testsuite pagina's bezoekt die u niet hoeft te controleren, kunt u de automatische analyse wereldwijd uitschakelen en deze alleen inschakelen in de tests die het nodig hebben.
JavaScript of TypeScript:
axe: {
autoAnalyze: false
}Java:
AxeWatcherOptions options = new AxeWatcherOptions();
options.setAutoAnalyze(false);Met automatische analyse uitgeschakeld, roept u analyze() expliciet aan waar u een resultaat nodig heeft, en gebruikt u start() / stop() om delen van uw testsuite aan te geven waar u wilt dat de automatische analyse hervat.
Zie Beheer Uw Scans voor volledige instructies en voorbeelden.
Voer Tests Parallel Uit
Als uw testinfrastructuur parallelle uitvoering ondersteunt, vermindert het uitvoeren van uw testsuite met meerdere werkers de totale wandkloktijd. Watcher ondersteunt parallelle testrunners; u hoeft er alleen voor te zorgen dat elke werker dezelfde niet-lege buildID deelt, zodat hun resultaten worden gecombineerd in plaats van overschreven.
Zie Tests Parallel Uitvoeren voor installatie-instructies.
Samenvatting
| Techniek | Beste voor | Afweging |
|---|---|---|
| Pagina's uitsluiten | Pagina's die uw team niet beheert of niet hoeft te testen | Belangrijke pagina's kunnen per ongeluk worden gemist |
| Paginasecties Beperken | Grote pagina's waarbij slechts een deel relevant is voor uw test | Problemen buiten de geselecteerde secties worden niet gevonden |
| Kostbare Regels Uitschakelen | Teams vinden dat bepaalde kostbare regels niet van toepassing zijn op hun situatie | Die regels draaien niet in deze testsuite |
| Handmatige modus | Testsuites die veel pagina's bezoeken die niet relevant zijn voor toegankelijkheidstesten | Vereist expliciete analyze() / start() / stop() aanroepen in testcode |
| Parallel testen | Teams met CI-infrastructuur die parallelle workers ondersteunt | Vereist coördinatie van buildID tussen workers |
