Uso con Cypress

Cypress es un framework de pruebas end-to-end en JavaScript que ejecuta tus pruebas dentro del propio navegador, junto a la aplicación sometida a prueba. surea11y se integra mediante la integración (binding) @surea11y/cypress.

$ npm install @surea11y/cypress cypress

cypress es una entrada de peerDependencies: necesitas tu propia instalación de Cypress para que los tipos/runtime se resuelvan, igual que al escribir cualquier archivo de prueba de Cypress.

// cypress/e2e/my-page.cy.js
const { A11yCoreBuilder } = require('@surea11y/cypress');
 
it('has no accessibility violations', () => {
cy.visit('https://example.com/');
 
new A11yCoreBuilder()
.include('#main') // optional -- call multiple times for multi-region scans
.exclude('.cookie-banner') // optional
.withTags(['wcag2a', 'wcag2aa'])
.disableRules(['meta-refresh-no-exceptions'])
.analyze()
.then((results) => {
const fails = results.checksResults.filter((r) => r.outcome === 'fail');
expect(fails).to.have.length(0);
});
});

Sin argumento de constructor { page }/{ browser }/{ driver } , a diferencia de las integraciones basadas en driver: en Cypress no existe ese tipo de referencia. cy está disponible de forma ambiental en cada archivo de prueba y es el driver. analyze() devuelve un objeto encadenable de Cypress, no una Promise: no le hagas await; llama a .then() como se muestra arriba.

Consulta también un ejemplo ejecutable en el propio repositorio del paquete.

Siguiente: elige qué reglas se ejecutan, integra el análisis en CI y consulta la estructura completa del resultado.