違反のテストへの帰属

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

Axe Developer Hubでどのテストが各アクセシビリティ違反を引き起こしたかを見る

Not for use with personal data

スキャンでアクセシビリティ違反が見つかった場合、Axe Developer Hubはどのテストがその時に実行されていたかを示すことができます。これにより、違反をその発生源まで簡単に追跡できます。テストファイルを開き、テストの場所に移動して問題を解決してください。

自動収集 (JavaScriptおよびTypeScript)

以下の統合では、テストコンテキストが自動的に収集されます。設定は必要ありません:

  • Playwright Test: 各テストの開始時にテストファイルパスとタイトルパスがTestInfoからキャプチャされます。
  • Cypress: テストファイルパスとタイトルパスがCypress.spec.relativeおよびCypress.currentTest.titlePathからキャプチャされます。
  • WebdriverIO Testrunner: テストランナーのdescribe/itタイトルチェーンからテストファイルパスとタイトルパスがキャプチャされます。

これらの統合をテストランナーと一緒に使用している場合、違反は自動的にテストに帰属されます。

手動収集 (Java)

Javaテストはテストランナーに自動的にアクセスできないため、テストコンテキストを手動で設定します。AxeWatcherController(Selenium)およびAxeWatcherPlaywrightController(Playwright)は、setTestContext()メソッドを提供します。

各テストの開始時、通常は@BeforeEachフックでsetTestContext()を呼び出し、テストファイルパスとテスト場所を表すリスト(クラス名とメソッド名)を渡します:

@BeforeEach
public void setUp() {
    driver.axeWatcher().setTestContext(
        "src/test/java/com/acme/LoginTest.java",
        java.util.Arrays.asList("LoginTest", "rejects bad password")
    );
}

JUnit TestInfoの使用

テストフレームワークが実行時にテストの識別を提供する場合、それを直接渡すことができます:

@BeforeEach
public void setUp(TestInfo testInfo) {
    driver.axeWatcher().setTestContext(
        testInfo.getTestClass().map(Class::getName).orElse(null)
            .replace('.', '/') + ".java",
        java.util.Arrays.asList(
            testInfo.getTestClass().map(Class::getSimpleName).orElse(null),
            testInfo.getTestMethod().map(Method::getName).orElse(null)
        )
    );
}

コンテキストのクリア

テスト間の帰属をクリアするには、null, nullを渡します:

driver.axeWatcher().setTestContext(null, null);