Referencia de la API de Cypress para Axe DevTools para Web
Referencia para las APIs en el paquete @axe-devtools/cypress
Comandos Encadenables de Cypress (análisis)
cy.axeAnalyze()
Este comando encadenable inyecta axe-core en la página y en cada iframe al que pueda acceder, y luego ejecuta el análisis en la página. Los iframes en los que no se pueda inyectar, como los iframes de origen cruzado y los iframes con un atributo sandbox, se omiten en lugar de fallar la prueba. Consulte iframes de origen cruzado y en sandbox.
| Parámetro | Tipo | Valor Por Defecto | Descripción |
|---|---|---|---|
| nombre (opcional) | Cadena | indefinido | Establece el identificador para este resultado de escaneo almacenado en el informe. Si no se proporciona, se utiliza una marca de tiempo por defecto. |
| contexto (opcional) | axe.ElementContext | indefinido | Define el ámbito del análisis—la parte del DOM que desea analizar. Generalmente será el documento o un selector específico como nombre de clase, ID, selector, etc. |
| opciones (opcional) | axe.RunOptions | indefinido | Conjunto de opciones pasadas a las reglas o verificaciones, modificándolas temporalmente. Esto contrasta con axe.configure, que es más permanente. |
| log (opcional) | Booleano | falso | Devuelve salida a stdout con el número de elementos que no son accesibles e impactos de violación como una tabla. |
cy.isAxeClean()
Este comando encadenable es una afirmación de que la página no tiene violaciones de accesibilidad.
Parámetros:
| Parámetro | Tipo | Valor Por Defecto | Descripción |
|---|---|---|---|
| contexto (opcional) | axe.ElementContext | indefinido | Define el ámbito del análisis—la parte del DOM que desea analizar. Generalmente será el documento o un selector específico como nombre de clase, ID, selector, etc. |
| opciones (opcional) | axe.RunOptions | indefinido | Conjunto de opciones pasadas a las reglas o verificaciones, modificándolas temporalmente. Esto contrasta con axe.configure, que es más permanente. |
Comandos Encadenables de Cypress (configuración)
Integre Axe DevTools para Web con Cypress usando comandos encadenables personalizados de Cypress para configurar los resultados analizados.
cy.setAxeSource()
Este comando encadenable establece la versión de axe-core.
| Parámetro | Tipo | Valor Por Defecto | Descripción |
|---|---|---|---|
| Ruta del archivo (obligatorio) | Cadena | nulo | Ruta relativa a la raíz del proyecto que debe incluir axe.source o la versión minificada de axe-core. |
cy.setAxeCustom()
Este comando encadenable permite el uso de conjuntos de reglas personalizados.
- Axe DevTools para Web Cypress también leerá implícitamente
axe-ruleset.jsoncuando esté colocado en el nivel raíz del proyecto o también usará archivos de reglas personalizadas cuando la variable de entornoAXE_RULESET_PATHesté configurada.
| Parámetro | Tipo | Valor Por Defecto | Descripción |
|---|---|---|---|
| Ruta del archivo (obligatorio) | Cadena | nulo | Ruta relativa a la raíz del proyecto que debe incluir verificaciones y reglas |
cy.setAxeRuleset()
Este comando encadenable permite a los usuarios ejecutar reglas por etiquetas, similar a configurar axe.run().
| Parámetro | Tipo | Valor Por Defecto | Descripción |
|---|---|---|---|
| conjunto de reglas (obligatorio) | '508', 'en301549', 'rgaav4', 'ttv5', 'wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa' | 'wcag2.1' | Array de etiquetas a las que se asigna esta regla. |
cy.setAxeReportName()
Este comando encadenable permite a los usuarios establecer el nombre del archivo de reporte.
| Parámetro | Tipo | Valor Por Defecto | Descripción |
|---|---|---|---|
| nombreReporte (obligatorio) | Cadena | @axe-devtools-cypress |
Nombre del archivo de reporte. |
cy.getAxeResults()
Este comando encadenable permite a los usuarios utilizar los resultados después de ejecutar cy.axeAnalyze().
Las respuestas de getAxeResults() devuelven la forma de datos axe.AxeResults.
Ejemplo:
after(() => {
cy.axeAnalyze();
cy.getAxeResults().then(data => {
cy.writeFile('./results.json', data)
})
})cy.getUniversalResults()
Este comando encadenable devuelve los resultados de la llamada más reciente a cy.axeAnalyze() en Formato Universal de Axe. Devuelve null si no se ha ejecutado ningún análisis todavía.
Ejemplo:
after(() => {
cy.axeAnalyze();
cy.getUniversalResults().then(data => {
cy.writeFile('./results-universal.json', data)
})
})Servicio de Uso
El servicio de uso le permite obtener información sobre las tendencias de uso de Axe DevTools para Web dentro de su organización.
Variables de Entorno
Estas variables de entorno le permiten configurar el servicio de uso y cambiar las propiedades de los eventos reportados.
| Nombre | Tipo | Puede sobrescribir | Descripción |
|---|---|---|---|
AXE_DISTINCT_ID |
Cadena | — | Un identificador UUID que permanece igual para el usuario registrado (a menos que se regenere). En Ruby, esta variable se llama DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Booleano | — | Configúrelo en true para incluir los resultados completos de axe-core en el objeto testResults de cada evento (el valor predeterminado es false). Compatible solo con el CLI y las API de Node.js. |
AXE_METRICS_URL |
Cadena | — | La URL del punto final de uso de REST (el valor predeterminado es https://usage.deque.com) |
AXE_TRACK_USAGE |
Booleano | — | Configúrelo en false para desactivar la generación de informes del servicio de uso. El informe está habilitado de forma predeterminada. |
AXE_APPLICATION |
Cadena | falso | La aplicación que se utilizó para verificar errores de accesibilidad |
AXE_DEV_INSTANCE |
Booleano | verdadero | Indica si este evento es producto de las acciones de un desarrollador de software. Útil para marcar y luego eliminar eventos registrados durante el desarrollo o las pruebas. |
AXE_DEPARTMENT |
Cadena | verdadero | El departamento del usuario dentro de la organización |
AXE_KEYCLOAK_ID |
Cadena | falso | El ID de Keycloak del usuario |
AXE_LOGGED_IN |
Booleano | falso | Registra si el usuario está conectado a la aplicación bajo prueba |
AXE_ORGANIZATION |
Cadena | verdadero | La organización del usuario. Para que su uso aparezca en Axe Reports, configúrelo con el ID de su organización (contacte a Deque para obtenerlo). |
AXE_SESSION_ID |
Cadena | falso | Un UUID que identifica la sesión del usuario |
AXE_USER_ID |
Cadena | falso | La identidad específica de un usuario, como una dirección de correo electrónico, nombre o ID de inicio de sesión. Axe Reports cuenta usuarios únicos a partir de este valor. |
AXE_USER_JOB_ROLE |
Cadena | falso | El rol laboral del usuario |
AXE_USER_STATUS |
Cadena | falso | Información de estado que desea asociar con el usuario |
cy.task('enableTracking', <boolean>)
Esta tarea de Cypress permite a los usuarios optar por participar o no en el envío de datos al servicio de uso. El envío está habilitado por defecto.
cy.task('setTrackingUrl', <string>)
Esta tarea de cypress permite a los usuarios cambiar el destino al que se envían los datos de métricas de uso.
cy.task('setDistinctId', <string>)
Esta tarea de cypress permite a los usuarios cambiar el id distinto que se almacena o se utiliza.
Próximos Pasos
Si tienes algún problema al instalar Axe DevTools para Web, contacta directamente a tu representante de Deque, pregúntanos a través de nuestro servicio de soporte, o envíenos un correo electrónico. Estaremos encantados de ayudarte a comenzar.
