WebDriverJSとJavaScriptに関する手引き

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とJavaScriptでテストを設定する

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からインポートします。

    const {
      webdriverConfig,
      wrapWebdriver,
      WebdriverController
    } = require('@axe-core/watcher/webdriver')
  3. Chromeのオプションを指定してbrowserインスタンスを生成する際に、テストセットアップコード(通常はbeforebeforeAllブロック内)を更新し、APIキーを提供します。

    // Original code:
    let 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
    
    let 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()
    })