Referencia de la API de WebdriverIO para Axe DevTools para Web
Referencia para las APIs en el paquete @axe-devtools/webdriverio
Constructor
En la configuración estándar, el único argumento que se requiere pasar al constructor de WebdriverIO es la instancia de WebdriverIO. Si desea usar una versión diferente de axe-core a la incluida originalmente o un conjunto de reglas personalizado, puede pasar estas opciones al constructor.
No puedes seleccionar una versión no estándar de axe-core y un conjunto de reglas personalizado.
AxeDevToolsWebdriverIO(options: Options)La interfaz Options es un objeto que contiene las siguientes propiedades:
client(requerido): Un cliente de WebdriverIOaxeSource(opcional): una cadena de código fuente de axe-corerulesetID(opcional): un ID de conjunto de reglas ('wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa', '508', 'en301549', 'rgaav4', 'ttv5')
No puedes proporcionar ambos axeSource y rulesetID. Los dos son mutuamente excluyentes.
Definiendo la versión de axe-core
Por defecto, @axe-devtools/webdriverio utilizará la última versión disponible de axe-core. Para configurar una versión diferente de axe-core, pasa la opción axeSource. Todas las versiones de axe-core se pueden obtener desde npm o a través de unpkg visitando http://unpkg.com/axe-core@<version>/axe.js (reemplaza <version> por el número de la versión). Todas las versiones de axe-core posteriores a la 2.1.0 son compatibles.
Este es un ejemplo de inicialización de Axe DevTools WebdriverIO con axe-core 2.3.0 desde un archivo ubicado en el directorio padre del archivo de prueba.
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });Método analyze
Este método ejecuta el análisis y finalmente devuelve los resultados del escaneo de accesibilidad.
analyze(client: webdriverio.Client): Promise<axe.AxeResults>Ejecuta un análisis usando la configuración predeterminada en el cliente dado. Se devuelve un Promise, que se resuelve con el conjunto de resultados devuelto por axe-core.
Reglas personalizadas
Para obtener información sobre el uso de reglas personalizadas con Axe DevTools, lee la guía sobre generación e integración de conjuntos de reglas personalizadas en el guía CLI.
Método analyzeUniversal
Realiza un análisis y devuelve los resultados en el Formato Universal de Axe. El método analyze() existente no cambia.
analyzeUniversal(): Promise<UniversalExport>Opciones de cadena
Existen varias opciones para delimitar sus escaneos de Axe DevTools. Puede incluir o excluir ámbitos CSS específicos y/o ignorar iframes. Los métodos de cadena (a continuación) en el constructor hacen esto posible.
deshabilitarMarco
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIODeshabilite la inyección de axe-core en marcos que coincidan con el selector CSS dado. Este método se puede llamar cualquier cantidad de veces.
incluir
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIOSelector para incluir en el análisis. Esto se puede llamar cualquier cantidad de veces.
excluir
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIOSelector para excluir en el análisis. Esto se puede llamar cualquier cantidad de veces.
Configuración de Reglas
Estas opciones modifican la configuración de reglas para el conjunto de reglas elegido. Estas opciones sobrescribirán la configuración estándar de reglas y modificarán sus resultados. Llamadas adicionales con estos métodos sobrescribirán las llamadas anteriores.
conReglas
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIOLimita el análisis solo a las reglas especificadas. No se puede usar con AxeDevToolsWebdriverIO.withTags().
conEtiquetas
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIOLimita el análisis solo a las etiquetas especificadas. No se puede usar con AxeDevToolsWebdriverIO.withRules().
deshabilitarReglas
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIOEstablece la lista de reglas a omitir al ejecutar un análisis.
Opciones de axe-core
Estas opciones acceden a la configuración subyacente de axe-core. Para más información sobre estas opciones, consulta el documentación de axe-core.
configuración
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIOEstablece la configuración para axe-core. Este valor se pasa directamente a axe.configure().
opciones
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIOEl runOptions para pasar directamente a axe.run(). Consulta el documentación de axe-core para su uso. Sobrescribirá cualquier otra opción configurada, incluidas las llamadas a AxeDevToolsWebdriverIO.withRules() y AxeDevToolsWebdriverIO.withTags().
Servicio de uso
El servicio de uso le permite obtener información sobre las tendencias de uso de Axe DevTools dentro de su organización.
Por defecto, el servicio de uso está habilitado, y la URL predeterminada es https://usage.deque.com. Establezca la variable de entorno AXE_TRACK_USAGE en false para deshabilitarlo.
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 |
habilitarSeguimiento
Este método permite a los usuarios optar por enviar o no datos al servicio de uso. El envío está habilitado por defecto.
.enableTracking(state: boolean): AxeDevToolsWebdriverIOestablecerUrlSeguimiento
Este método permite a los usuarios cambiar a dónde se envían los datos de métricas de uso
.setTrackingUrl(url: string): AxeDevToolsWebdriverIOestablecerIdDistinto
Este método permite a los usuarios cambiar el id distinto que se almacena/utiliza
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO