Instructions for WebdriverIO Testrunner and JavaScript
Configuring your tests with WebdriverIO Testrunner 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
wdio.config.jsfile, import thewdioTestRunner()function, thewrapWdio()function, and theWdioControllerclass from@axe-core/watcher/wdio:const { wdioTestRunner, wrapWdio, WdioController } = require('@axe-core/watcher/wdio') -
Before exporting your WebdriverIO configuration, wrap it with a call to
wdioTestRunner()while providing your API key:exports.config = { // Your config options here... } // Becomes: const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY const PROJECT_ID = process.env.PROJECT_ID exports.config = wdioTestRunner({ axe: { apiKey: ACCESSIBILITY_API_KEY, projectId: PROJECT_ID }, { // Your config options here... } })Be sure to set
ACCESSIBILITY_API_KEYandPROJECT_IDin your environment to your personal API key (found in your axe Account, API KEYS tab) and your project ID (shown at the top of these instructions when you created your project or available from the Projects page by choosing Configure project under Settings). -
In your test setup code (typically in a
beforeorbeforeAllblock), create an instance of theWdioController, and then wrap yourbrowserobject:const controller = new WdioController(browser) wrapWdio(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
afterFetchblock):afterEach(async () => { await controller.flush() })
