1. テストフォルダのルートレベルで、@axe-core/watcherパッケージとそのすべての依存関係をnpmまたはお好みのパッケージマネージャー(例えば、yarnpnpm)を使用してインストールします。

    npm install --save-dev @axe-core/watcher
  2. テストファイルにおいて、puppeteerConfig()関数、wrapPuppeteer()関数、およびPuppeteerControllerクラスを@axe-core/watcher/puppeteerからインポートします:

    const {
      puppeteerConfig,
      wrapPuppeteerPage,
      PuppeteerController
    } = require('@axe-core/watcher/puppeteer')
  3. テストセットアップコードを更新します(通常はbeforeブロックやbeforeAllブロック内で)、browserインスタンスの作成に関する既存のコードをpuppeteerConfig()の呼び出しでラップし、APIキーを提供します:

    const browser = await puppeteer.launch({
      // Your existing launch options...
    })
    
    // Becomes:
    
    const ACCESSIBILITY_API_KEY = process.env.ACCESSIBILITY_API_KEY
    const PROJECT_ID = process.env.PROJECT_ID
    const SERVER_URL = process.env.SERVER_URL
    
    const browser = await puppeteer.launch(
      puppeteerConfig({
        axe: {
          apiKey: ACCESSIBILITY_API_KEY,
          projectId: PROJECT_ID,
          serverURL: SERVER_URL
        },
        // Your existing launch options...
      })
    )

    ACCESSIBILITY_API_KEYPROJECT_ID を環境に設定し、個人用 API キー(Axe アカウントの**API KEYS**タブで見つかります)とプロジェクト ID(プロジェクトを作成した際にこれらの指示の上部に表示されるか、プロジェクトページで**プロジェクトを設定**を選択して**設定**から入手できます)を使用してください。組織が地域のプライベートクラウドやオンプレミスの Axe Developer Hub インスタンスを使用している場合は、そのインスタンスのベース URL をSERVER_URLに設定してください(例: https://axe-eu.deque.com)。それ以外の場合、SERVER_URLを省略し、デフォルトのhttps://axe.deque.comが使用されます。

  4. PuppeteerControllerのインスタンスを作成し、PuppeteerbrowserContextをラップします:

    // Create a page instance, using your browser instance.
    let page = await browser.newPage()
    
    // Initialize the PuppeteerController by passing in the Puppeteer page.
    const controller = new PuppeteerController(page)
    
    // Use the new wrapped Puppeteer page instance.
    page = wrapPuppeteerPage(page, controller)
  5. 最後に、Axe Watcher のすべてのテスト結果が完全に処理されることを確認してください。これを行うには、以下のコードブロックをテストの後処理コードに追加します(通常は afterEach ブロックで行います):

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