Pagina-analyse Beheren
Met de handmatige modus van Watcher kunt u kiezen wanneer of welke pagina's van uw site worden geanalyseerd op toegankelijkheidsproblemen
Normaal gesproken analyseert axe Developer Hub automatisch elke pagina die door uw testsuite wordt bezocht (ook wel bekend als automatische modus). Soms resulteert deze automatische analyse in te veel pagina's die worden geanalyseerd, pagina's die u niet belangrijk vindt of pagina's die tot andere afdelingen van uw organisatie behoren — pagina's waar uw team geen eigendom over heeft — die worden geanalyseerd. U kunt de automatische modus uitschakelen, zodat u kunt bepalen wanneer (of of) elke pagina wordt geanalyseerd (ook wel bekend als handmatige modus).
Scenario's
Delen van een Website Scannen
U kunt de handmatige modus gebruiken om alleen een deel van een website te scannen. Als uw team bijvoorbeeld eigenaar is van de winkelwagenfunctionaliteit op uw site, maar uw testsuite cataloguspagina's moet bezoeken (die uw team niet bezit) om producten aan de winkelwagen toe te voegen, wilt u waarschijnlijk vermijden de toegankelijkheid van de cataloguspagina's te testen. Zodra u de winkelwagenpagina in uw testsuite heeft bereikt, kunt u de automatische analyse opnieuw inschakelen. Wanneer de testen van de winkelwagen zijn voltooid, kunt u de automatische analyse opnieuw uitschakelen.
Volgende Stappen
- Automatische Analyse Uitschakelen in Configuratie om te voorkomen dat u de cataloguspagina's test.
- Automatische Analyse Inschakelen voor uw winkelwagenpagina.
- Automatische Analyse Uitschakelen via een Oproep aan het einde van het testen van uw winkelwagenpagina om te voorkomen dat pagina's die na de winkelwagenpagina worden bezocht, worden getest.
Dynamische Inhoud Laden
U kunt de handmatige modus gebruiken om te voorkomen dat pagina's met complexe laadsequenties worden getest. Als de pagina die u wilt testen dynamisch veel bronnen op de achtergrond laadt, kunt u de automatische modus uitschakelen totdat deze volledig is geladen. Dit beperkt de toegankelijkheidsproblemen tot diegenen die pas bestaan wanneer de pagina volledig is geladen. Het zou ook voorkomen dat accessibility checks plaatsvinden tijdens laadanimaties of andere laad-UI.
Volgende Stappen
- Automatische Analyse Uitschakelen in Configuratie zodat de laadanimaties en UI niet worden getest op toegankelijkheidsfouten.
- Automatische Analyse Inschakelen om de automatische toegankelijkheidstesten te hervatten zodra de pagina volledig is geladen.
Specifieke Pagina Statussen Vastleggen
Als u wilt zorgen dat een specifieke pagina status wordt gescand, kunt u handmatig een toegankelijkheidsanalyse uitvoeren nadat u uw pagina heeft ingesteld.
Volgende Stappen
- Automatische Analyse Uitschakelen in Configuratie om te voorkomen dat een toegankelijkheidsanalyse wordt uitgevoerd voordat de pagina in de gewenste staat is.
- Pagina's Handmatig Analyseren om de specifieke pagina status te testen waarin u geïnteresseerd bent.
Bereik van een Grote Testsuite Beperken
Door de automatische analyse uit te schakelen, kunt u een grotere, meer uitgebreide testsuite gebruiken maar uw toegankelijkheidstesten beperken tot slechts een deel ervan. In dit geval hoeft u uw grotere testsuite niet op te splitsen in kleinere testsuites en kunt u alleen de toegankelijkheid testen in de testsuites die u belangrijk vindt.
Volgende Stappen
- Automatische Analyse Uitschakelen in Configuratie om te voorkomen dat automatische toegankelijkheidsanalyse aan het begin van uw testsuite start.
- Automatische Analyse Inschakelen wanneer u het deel van uw testsuite bereikt dat u wilt testen.
- Automatische Analyse Uitschakelen via een Oproep om de toegankelijkheidstesten uit te schakelen voor delen van de testsuite die u niet wilt testen op toegankelijkheidsfouten.
Hoe de Handmatige Modus te Gebruiken
U kunt de automatische analyse in uw configuratie uitschakelen (zie Automatische Analyse Uitschakelen in Configuratie hieronder).
Pagina-analyse wordt beheerd door drie methodes op het Controller object of de equivalente commando's in Cypress.
- analyze() (in Cypress: cy.axeWatcherAnalyze()) om een analyse van de huidige pagina uit te voeren.
- start() (in Cypress: cy.axeWatcherStart()) om automatische toegankelijkheidsanalyse in te schakelen.
- stop() (in Cypress: cy.axeWatcherStop()) om automatische toegankelijkheidsanalyse uit te schakelen.
Een Controller-object verkrijgen
(JavaScript/TypeScript) Voor informatie over het verkrijgen van een Controller object, zie stap vier van de instructiepagina van uw testframework:
JavaScript:
TypeScript:
(Java) Voor Java, zie stap drie van de instructiepagina van het testframework. Stap vier toont hoe de wrappedDriver aangeroepen wordt om zijn flush() methode aan te roepen:
Cypress
(JavaScript/TypeScript) Voor Cypress kunt u het globale cy object gebruiken met deze gelijkwaardige opdrachten:
| Controller-methode | Cypress-opdracht |
|---|---|
| analyse() | axeWatcherAnalyze() |
| **flush**() | **axeWatcherFlush**() |
| **start**() | **axeWatcherStart**() |
| **stop**() | **axeWatcherStop**() |
Playwright-test
(JavaScript/TypeScript) Voor Playwright-test, kan het **Controller** object (**PlaywrightController**) worden verkregen van **page**, dat een **axeWatcher** object bevat. U kunt het **axeWatcher** object gebruiken om de **Controller** methoden aan te roepen (voorbeeld hieronder is in TypeScript):
import { test, expect } from './fixtures'
test('example test', async ({ page }) => {
await page.goto('https://example.com')
await page.axeWatcher.analyze()
})Automatische analyse uitschakelen in configuratie
U kunt automatische toegankelijkheidstesten uitschakelen door
- (JavaScript/TypeScript) de
autoAnalyzeeigenschap in het axe configuratieobject in te stellen opfalse. - (Java) het aanroepen van de
setAutoAnalyze()methode metfalse.
(JavaScript/TypeScript) Bijvoorbeeld, u stelt **autoAnalyze** in op *false* in uw configuratie (deze regel is gemarkeerd in het Cypress JavaScript-voorbeeld hieronder):
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
})
);Automatische analyse uitschakelen via een oproep
Met Cypress kunt u het **axeWatcherStop**() commando gebruiken:
cy.axeWatcherStop()(JavaScript/TypeScript) De andere testintegraties gebruiken de **stop**() methode op uw Controller-object:
await controller.stop()(Java) In de Java Watcher-integratie gebruikt u de AxeWatcherController.stop() methode.
Zie Het verkrijgen van een Controller Object voor meer informatie over het verkrijgen van een controllerobject voor je testframework.
Pagina's Handmatig Analyseren
Nadat je automatische analyse hebt uitgeschakeld, kun je aanroepen toevoegen aan de (JavaScript/TypeScript) axeWatcherAnalyze() (voor Cypress) of analyze() (met de andere testintegraties). (Java) Voor Java gebruik je de AxeWatcherController.analyze()](dh-java-watchercontroller#analyze) methode.
Bijvoorbeeld, voor 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')
})
})Zie Het verkrijgen van een Controller Object voor meer informatie over het verkrijgen van een controllerobject voor je testframework.
Automatische Analyse Inschakelen
Met Cypress kun je de axeWatcherStart opdracht gebruiken:
cy.axeWatcherStart()De andere testintegraties gebruiken de start methode op je Controller-object:
await controller.start()Zie Het verkrijgen van een Controller Object voor meer informatie over het verkrijgen van een controllerobject voor je testframework.
Zie Ook
- (JavaScript/TypeScript) Voor twee werkende voorbeelden van tests in de handmatige modus (voor Cypress en Playwright), zie de volgende voorbeelden in de watcher-voorbeelden repo op GitHub:
- Voor Cypress, zie Cypress handmatige modus
- Voor Playwright, zie Playwright handmatige modus
