WebDriverJSとTypeScriptのための手順

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

WebDriverJSとTypeScriptでテストを設定する

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

    npm install --save-dev @axe-core/watcher
  2. テストファイルで、webdriverConfig()関数、wrapWebdriver()関数、およびWebdriverControllerクラスを@axe-core/watcher/webdriverからインポートします:

    import {
      webdriverConfig,
      wrapWebdriver,
      WebdriverController
    } from '@axe-core/watcher/webdriver'
  3. Chromeのオプションを指定してbrowserインスタンスをインスタンス化するときに、テストセットアップコードを更新します(通常はbeforeまたはbeforeAllブロック内)、その際にAPIキーを提供します:

    // Original code:
    const browser = await new Builder()
      .forBrowser('chrome')
      .build()
    
    // 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 new Builder()
      .forBrowser('chrome')
      .setChromeOptions(
        webdriverConfig({
          axe: {
            apiKey: ACCESSIBILITY_API_KEY,
            projectId: PROJECT_ID,
            serverURL: SERVER_URL
          }
        }
      )
      .build()

    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. WebdriverControllerのインスタンスを作成します:

    const controller = new WebdriverController(browser)
  5. browserインスタンスをwrapWebdriver()関数でラップします:

    browser = wrapWebdriver(browser, controller)
  6. 最後に、Axe Watcherからのすべてのテスト結果がきちんと処理されたことを確認してください。これを行うには、次のコードブロックをテストのティアダウンコード(通常はafterEachブロック内)に追加してください。

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