Atribuir Violaciones a Pruebas
Vea qué prueba activó cada violación de accesibilidad en Axe Developer Hub
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
TestInfoal inicio de cada prueba. - Cypress: la ruta del archivo de prueba y la ruta del título se capturan desde
Cypress.spec.relativeyCypress.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/itdel 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);