Versnel Uw Tests

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

Technieken om de tijd te verkorten die Axe Watcher toevoegt aan uw end-to-end test suite

Not for use with personal data

Het integreren van Axe Watcher in uw end-to-end test suite voegt tijd toe omdat Watcher elke pagina analyseert die uw tests bezoeken. Als die extra tijd een probleem wordt, kunt u met de onderstaande technieken deze verminderen zonder dat u dekking die belangrijk voor u is hoeft op te geven.

Pagina's Uitsluiten Die U Niet Hoeft te Testen

Als uw test suite pagina's bezoekt die u niet op toegankelijkheid hoeft te testen (inlogpagina's, pagina's van derden, beheerpanelen, betaalstromen die door een ander team worden beheerd), kunt u ze volledig overslaan met behulp van excludeUrlPatterns. Het overslaan van hele 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 patroon-syntaxis en voorbeeldtoepassingen.

Analyse Beperken tot Specifieke Paginadelen

In plaats van de volledige pagina te analyseren, kunt u met runContext focussen op het gedeelte waar uw test betrekking op heeft. Als een test bijvoorbeeld alleen het betaalformulier dekt, is het niet nodig om de navigatie, voettekst of zijbalk 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);
important

Wanneer u elementen specificeert om op te nemen via runContext, analyseert Axe Watcher alleen de overeenkomstige elementen. Als een selector niets op de pagina overeenkomt, zal er niets worden geanalyseerd en wordt er geen paginastatus vastgelegd. Controleer uw selectors goed voordat u deze configuratie implementeert.

Zie (JavaScript/TypeScript) runContext of (Java) AxeRunContext voor meer informatie.

Dure Regels Uitschakelen

Sommige axe-core regels zijn rekenkundig duur. De color-contrast regel, bijvoorbeeld, vereist dat de browser de weergegeven kleur van elk zichtbaar textelement op de pagina berekent, wat aanzienlijke tijd kan toevoegen op inhoudrijke pagina's.

U kunt specifieke regels uitschakelen met behulp van 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);
important

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, toegewijde test suite uit te voeren in plaats van ze permanent over te slaan.

Via runOptions.rules (of runOnly) genereert u een waarschuwing omdat die instellingen kunnen conflicteren met de wereldwijde Axe-configuratie van uw organisatie. Zie Het Gebruik van runOptions met runOnly of Rules.

Zie (JavaScript/TypeScript) runOptions of (Java) AxeRunOptions voor meer informatie.

Gebruik de Handmatige Modus om te Controleren Welke Tests Pagina's Analyseren

Standaard analyseert Watcher automatisch elke pagina die uw tests bezoeken. Als de meeste pagina's in uw test suite niet hoeven te worden gecontroleerd, kunt u de automatische analyse globaal 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 de automatische analyse uitgeschakeld, roept u analyze() expliciet aan waar u een resultaat nodig heeft, en gebruikt u start() / stop() om secties van uw test suite te markeren waar u wilt dat de automatische analyse hervat.

Zie Uw Scans Controleren voor volledige instructies en voorbeelden.

Tests parallel uitvoeren

Als je testinfrastructuur parallelle uitvoering ondersteunt, vermindert het draaien van je testreeks met meerdere workers de totale kloktijd. Watcher ondersteunt parallelle testuitvoerders; je hoeft er alleen voor te zorgen dat elke worker dezelfde niet-nulle buildID gebruikt, 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 je team niet bezit of niet hoeft te testen Belangrijke pagina's kunnen per ongeluk worden gemist
Paginadelen beperken Grote pagina's waarbij slechts een deel relevant is voor je test Problemen buiten de geselecteerde secties worden niet gevonden
Dure regels uitschakelen Teams vinden dat bepaalde dure regels niet van toepassing zijn op hun situatie Die regels worden niet uitgevoerd in deze testreeks
Handmatige modus Testreeksen die veel pagina's bezoeken die niet relevant zijn voor toegankelijkheidstesten Vereist expliciete analyze() / start() / stop() aanroepen in de testcode
Parallel testen Teams met CI-infrastructuur die parallele workers ondersteunt Vereist coördinatie buildID tussen workers