Instructions for WebdriverIO Testrunner and TypeScript

Link to Instructions for WebdriverIO Testrunner and TypeScript copied to clipboard

Configuring your tests with WebdriverIO Testrunner and TypeScript

Free Trial
  1. In the root level of your testing folder, install the @axe-core/watcher package and all of its dependencies using npm or your preferred package manager (for example, Yarn or pnpm).

    npm install --save-dev @axe-core/watcher
  2. In your wdio.config.ts file, import the wdioTestRunner function, the wrapWdio function, and the WdioController class from @axe-core/watcher:

    import {
      wdioTestRunner,
      wrapWdio,
      WdioController
    } from '@axe-core/watcher'
  3. Before exporting your WebdriverIO configuration, wrap it with a call to wdioTestRunner() while providing your API key:

    // Original code:
    
    export const config = {
      // Your config options here...
    }
    
    // Becomes:
    
    const API_KEY = process.env.API_KEY
    
    export const config = wdioTestRunner({
      apiKey: API_KEY
      }, {
        // Your config options here...
      }
    })
  4. In your test setup code (typically in a before or beforeAll block), create an instance of the WdioController, then wrap your browser object:

    const controller = new WdioController(browser)
    wrapWdio(browser, controller)
  5. 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 afterFetch block):

    afterEach(async () => {
      await controller.flush()
    })