Beheer Uw Scans

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

De handmatige modus van Watcher stelt u in staat te kiezen wanneer of welke pagina's van uw site worden geanalyseerd op toegankelijkheidsproblemen

Not for use with personal data

Standaard, in wat bekend staat als automatische modus, bepaalt Axe Watcher automatisch wanneer een webpagina geanalyseerd moet worden (of deze nu bezocht wordt door je testomgeving of gebaseerd is op gedetecteerde wijzigingen in de DOM van de pagina). Soms resulteert deze automatische analyse in gedrag dat niet compatibel is met de doelstellingen van je organisatie: het analyseren van te veel pagina's (pagina's waar je geen belang bij hebt of pagina's die tot andere afdelingen binnen je organisatie behoren). Je kunt de automatische modus uitschakelen, zodat je zelf kunt bepalen wanneer (of of) een webpagina geanalyseerd moet worden (bekend als handmatige modus).

Scenario's

Delen van een Website Scannen

U kunt de handmatige modus gebruiken om slechts een deel van een website te scannen. Bijvoorbeeld, als uw team verantwoordelijk is voor de winkelwagentje-functie op uw site, maar uw testsuite cataloguspagina's moet bezoeken (die uw team niet beheert) om producten aan het winkelwagentje toe te voegen, wilt u waarschijnlijk voorkomen dat de toegankelijkheid van de cataloguspagina's wordt getest. Zodra u de winkelwagentjepagina heeft bereikt in uw testsuite, kunt u automatische analyse weer inschakelen. Daarna, wanneer de tests van het winkelwagentje zijn voltooid, kunt u automatische analyse opnieuw uitschakelen.

Volgende Stappen

Dynamisch Laden van Inhoud

U kunt de handmatige modus gebruiken om te voorkomen dat pagina's met complexe laadvormen worden getest. Als de pagina die u wilt testen dynamisch veel resources op de achtergrond laadt, kunt u de automatische modus uitschakelen totdat deze volledig is geladen. Dit beperkt de toegankelijkheidsproblemen tot die welke alleen bestaan wanneer de pagina volledig is geladen. Het voorkomt ook toegankelijkheidscontroles tijdens laadanimaties of andere laad-UI.

Volgende Stappen

Specifieke Pagina Statussen Vangen

Als u ervoor wilt zorgen dat een specifieke paginastatus wordt gescand, kunt u handmatig een toegankelijkheidsanalyse starten nadat u uw pagina heeft ingesteld.

Volgende Stappen

Het Bereiken van een Beperkte Omvang van een Grote Testsuite

Door automatische analyse uit te schakelen, kunt u een grotere, meer uitgebreide testsuite gebruiken maar uw toegankelijkheidstesten beperken tot slechts een deel daarvan. In dit geval hoeft u uw grotere testsuite niet in kleinere testsuites op te splitsen en alleen toegankelijkheidstesten uit te voeren in de testsuites die voor u belangrijk zijn.

Volgende Stappen

Hoe de Handmatige Modus te Gebruiken

U kunt automatische analyse uitschakelen in uw configuratie (zie Automatische Analyse in Configuratie Uitschakelen hieronder).

Paginianalyse wordt gecontroleerd door drie methoden op het Controller-object of de equivalente commando's in Cypress.

  1. analyze() (in Cypress: cy.axeWatcherAnalyze()) om een analyse van de huidige pagina uit te voeren.
  2. start() (in Cypress: cy.axeWatcherStart()) om automatische toegankelijkheidsanalyse in te schakelen.
  3. 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 test-framework:

JavaScript:

TypeScript:

(Java) Voor Java, zie stap drie van de instructiepagina van het testframework. Stap vier laat zien hoe u de wrappedDriver cast om de flush() methode aan te roepen:

Cypress

(JavaScript/TypeScript) Voor Cypress kunt u het globale cy-object gebruiken met deze equivalente commando's:

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 (onderstaand voorbeeld 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 in Configuratie Uitschakelen

U kunt automatische toegankelijkheidstesten uitschakelen door

(JavaScript/TypeScript) Bijvoorbeeld, stel autoAnalyze in op false in uw configuratie (de regel is gemarkeerd in het onderstaande Cypress JavaScript-voorbeeld):

const { defineConfig } = require('cypress');
const { cypressConfig } = require('@axe-core/watcher/cypress/config');

const API_KEY = process.env.API_KEY
const PROJECT_ID = process.env.PROJECT_ID

module.exports = defineConfig(  
  cypressConfig({
    axe: {
      apiKey: API_KEY,      projectId: PROJECT_ID,
      autoAnalyze: false
    },
    // Your existing Cypress configuration code here
  })
);

Automatische Analyse Uitschakelen via een Oproep

Met Cypress kunt u de axeWatcherStop()-opdracht 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 Een Controller-Object Verkrijgen voor meer informatie over het verkrijgen van een controller-object voor uw testframework.

Pagina's Handmatig Analyseren

Nadat u automatische analyse hebt uitgeschakeld, kunt u oproepen toevoegen aan (JavaScript/TypeScript) axeWatcherAnalyze() (voor Cypress) of analyze() (met de andere testintegraties). (Java) Voor Java gebruikt u de AxeWatcherController.analyze()](wa-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 Een Controller-Object Verkrijgen voor meer informatie over het verkrijgen van een controller-object voor uw testframework.

Automatische Analyse Inschakelen

Met Cypress kunt u de axeWatcherStart-opdracht gebruiken:

cy.axeWatcherStart()

De andere testintegraties gebruiken de start methode op uw Controller-object:

await controller.start()

Zie Een Controller-Object Verkrijgen voor meer informatie over het verkrijgen van een controller-object voor uw testframework.

Watcher Alleen Uitvoeren op Specifieke Testuitvoeringen

End-to-end tests kunnen duur zijn in tijd of cloud computing-kosten. U wilt misschien niet dat Watcher pagina's analyseert bij elke wijziging in de code of bij elke testuitvoering, maar alleen wanneer u expliciet een toegankelijkheidsscan wenst. U kunt analyse achter een omgevingsvariabele plaatsen door de waarde van de variabele door te geven aan autoAnalyze. Dit geeft u twee verschillende testcommando's: één zonder analyse en één met analyse.

(JavaScript/TypeScript) Bijvoorbeeld, in een Cypress-configuratie:

const { defineConfig } = require('cypress')
const { cypressConfig } = require('@axe-core/watcher/cypress/config')

const API_KEY = process.env.API_KEY
const PROJECT_ID = process.env.PROJECT_ID
const ACCESSIBILITY_TESTING = process.env.ACCESSIBILITY_TESTING === 'true'

module.exports = defineConfig(
  cypressConfig({
    axe: {
      apiKey: API_KEY,
      projectId: PROJECT_ID,
      autoAnalyze: ACCESSIBILITY_TESTING
    },
    // Your existing Cypress configuration code here
  })
)

Voeg twee scripts toe aan uw package.json, één met de variabele ingesteld, één zonder:

{
  "scripts": {
    "test:e2e": "cypress run",
    "test:e2e:accessibility": "ACCESSIBILITY_TESTING=true cypress run"
  }
}

Op Windows gebruikt u cross-env om omgevingsvariabelen op een platformonafhankelijke manier in te stellen. U kunt elke naam voor een omgevingsvariabele kiezen; ACCESSIBILITY_TESTING is slechts een voorbeeld.

Dezelfde benadering geldt voor andere JavaScript- en TypeScript-testframes: lees de variabele in uw configuratiebestand en geef de booleaanse waarde door aan autoAnalyze. Java-gebruikers kunnen de waarde doorgeven aan setAutoAnalyze().

note

Deze aanpak bepaalt of Watcher pagina's analyseert, niet of Watcher is geïnitialiseerd. Een deel van de Watcher-instelling vindt nog steeds plaats in uw testomgeving, ongeacht de waarde van de omgevingsvariabele.

Zie ook