Instructions for WebDriverJS and JavaScript
Configuring your tests with WebDriverJS and JavaScript
-
In the root level of your testing folder, install the
@axe-core/watcherpackage and all of its dependencies usingnpmor your preferred package manager (for example,yarnorpnpm).npm install --save-dev @axe-core/watcher -
In your test file or files, import the
webdriverConfig()function, thewrapWebdriver()function, and theWebdriverControllerclass from@axe-core/watcher:const { webdriverConfig, wrapWebdriver, WebdriverController } = require('@axe-core/watcher') -
Update your test setup code (typically in a
beforeorbeforeAllblock), specifying Chrome options when instantiating yourbrowserinstance, providing your API key:// Original code: let browser = await new Builder() .forBrowser('chrome') .build() // Becomes: const API_KEY = process.env.API_KEY let browser = await new Builder() .forBrowser('chrome') .setChromeOptions( webdriverConfig({ axe: { apiKey: API_KEY } } ) .build() -
Create an instance of the
WebdriverController:const controller = new WebdriverController(browser) -
Wrap your
browserinstance with thewrapWebdriver()function:browser = wrapWebdriver(browser, controller) -
Finally, ensure all test results from axe Watcher are flushed out. To do this, add the following block of code to your test teardown code (typically in an
afterEachblock):afterEach(async () => { await controller.flush() })
