違反のテストへの帰属
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);