Atribuir Violaciones a Pruebas

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

Vea qué prueba activó cada violación de accesibilidad en Axe Developer Hub

Not for use with personal data

Cuando una exploración encuentra una violación de accesibilidad, Axe Developer Hub puede mostrarle qué prueba se estaba ejecutando en ese momento. Esto hace que sea fácil rastrear una violación hasta su origen: abra el archivo de prueba, navegue hasta la ubicación de la prueba y solucione el problema.

Colección Automática (JavaScript y TypeScript)

Las siguientes integraciones recopilan el contexto de prueba automáticamente. No se requiere configuración:

  • Playwright Test: la ruta del archivo de prueba y la ruta del título se capturan desde TestInfo al inicio de cada prueba.
  • Cypress: la ruta del archivo de prueba y la ruta del título se capturan desde Cypress.spec.relative y Cypress.currentTest.titlePath.
  • WebdriverIO Testrunner: la ruta del archivo de prueba y la ruta del título se capturan desde la cadena de títulos describe/it del corredor de pruebas.

Si está utilizando una de estas integraciones con un corredor de pruebas, las violaciones se atribuyen a las pruebas automáticamente.

Colección Manual (Java)

Las pruebas en Java no tienen acceso automático al corredor de pruebas, por lo que se debe establecer el contexto de prueba manualmente. Tanto AxeWatcherController (Selenium) como AxeWatcherPlaywrightController (Playwright) proporcionan un método setTestContext().

Llame a setTestContext() al inicio de cada prueba, típicamente en un enganche @BeforeEach. Pase la ruta del archivo de prueba y una lista que represente la ubicación de la prueba (nombre de la clase y nombre del método):

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

Uso de JUnit TestInfo

Si su marco de pruebas proporciona identidad de prueba en tiempo de ejecución, puede pasarla directamente:

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

Borrar el Contexto

Pase null, null para borrar la atribución entre pruebas:

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