Overtredingen Toewijzen aan Tests

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

Zie welke test elke toegankelijkheidsovertreding in Axe Developer Hub heeft veroorzaakt

Not for use with personal data

Wanneer een scan een toegankelijkheidsovertreding ontdekt, kan Axe Developer Hub je tonen welke test op dat moment draaide. Dit maakt het eenvoudig om een overtreding terug te traceren naar de bron: open het testbestand, navigeer naar de testlocatie en los het probleem op.

Automatische Verzameling (JavaScript en TypeScript)

De volgende integraties verzamelen automatisch testcontext. Er is geen configuratie vereist:

  • Playwright Test: het testbestandspad en het titelpaden worden bij het begin van elke test van TestInfo vastgelegd.
  • Cypress: het testbestandspad en het titelpaden worden van Cypress.spec.relative en Cypress.currentTest.titlePath vastgelegd.
  • WebdriverIO Testrunner: het testbestandspad en het titelpaden worden vastgelegd uit de titelketen van de testrunner describe/it.

Als je een van deze integraties met een testrunner gebruikt, worden overtredingen automatisch aan tests toegewezen.

Handmatige Verzameling (Java)

Java-tests hebben geen automatische toegang tot de testrunner, dus stel je de testcontext handmatig in. Zowel AxeWatcherController (Selenium) als AxeWatcherPlaywrightController (Playwright) bieden een setTestContext()-methode.

Roep setTestContext() aan aan het begin van elke test, meestal in een @BeforeEach-hook. Geef het testbestandspad en een lijst die de testlocatie vertegenwoordigt (klassennaam en methode-naam) door:

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

Gebruik van JUnit TestInfo

Als je testframework testidentiteit tijdens runtime biedt, kun je deze direct doorgeven:

@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)
        )
    );
}

De Context Wissen

Geef null, null door om de toewijzing tussen tests te wissen:

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