La Referencia del Evento del Servicio de Uso
Información sobre las propiedades de la versión 2 del evento del servicio de uso
Este artículo contiene información de referencia sobre:
- Los datos del evento que son enviados al servicio de uso (versión 2 del objeto de evento,
EventV2) - Su objeto
applicationPropertiescontenido - El objeto
testResults(contenido dentro del objetoapplicationProperties) cuandoAXE_INCLUDE_TEST_RESULTSestá configurado atrue
Evento de la Versión 2
La siguiente interfaz de TypeScript define un evento de la versión 2:
interface EventV2 {
version: 'v2'
productName: string
productComponent: string
productComponentVersion: string
event: string
dateTime: Date
keycloakId?: string
distinctId: string
userId?: string
organization?: string
department?: string
application?: string
devInstance?: boolean
sessionId?: string
userStatus?: string
loggedIn?: boolean
applicationProperties?: Record<string, any>
userJobRole?: string
actor?: 'human' | 'automation'
teams?: { id: string; name: string }[]
}| Nombre | Descripción |
|---|---|
| actor | Ya sea que una persona (human) o una canalización automatizada (automation) ejecutó la prueba. Establecido por la CLI, las APIs de Node.js y la API de Ruby. Ver actor. |
| aplicación | La aplicación que creó este evento |
| propiedadesAplicación | propiedadesAplicación definido a continuación |
| fechaHora | Fecha y hora (hasta el milisegundo) en formato ISO-8601, zona horaria UTC |
| departamento | El departamento del usuario dentro de la organización |
| devInstance | Si este uso se considera una instancia de desarrollador y probablemente debería ser filtrada |
| identificadorDistinto | El uuid distinto del usuario |
| evento | Tipo de evento como cadena, generalmente valores "analyze" o "uri: analyze" |
| keycloakId | El ID de Keycloak del usuario |
| loggedIn | Si el usuario está registrado |
| organización | La organización del usuario |
| productComponent | Establecido por las API para indicar diferentes integraciones como Playwright |
| productComponentVersion | Una cadena que indica la versión del componente del producto |
| productName | Establecido por las API para indicar la integración que estás usando |
| sessionId | Un uuid que identifica la sesión (para permitir agrupar eventos) |
| equipos | Los equipos que ejecutan la prueba, como una matriz de objetos { id, name }. Establecido por la CLI, las APIs de Node.js y la API de Ruby. Ver equipos. |
| userId | El ID del usuario |
| userJobRole | El rol del trabajo del usuario |
| estadoUsuario | El estado del usuario |
| versión | Una cadena que especifica la versión del evento, siempre 'v2' |
identificadorDistinto
El valor de identificadorDistinto es un UUID que se establece por usuario cada vez que se registran las métricas. Debe ser estable a lo largo del tiempo porque se establece en la primera ejecución de la CLI o el código que usa las API. Se almacena en el archivo .deque/distinct_id en el directorio de inicio de cada usuario.
actor
La CLI, las APIs de Node.js y la API de Ruby establecen actor en automation cuando una de estas variables de entorno está configurada con un valor distinto a false o 0: CI, BUILD_NUMBER, BUILDKITE, CIRCLECI, CODEBUILD_BUILD_ID, GITHUB_ACTIONS, GITLAB_CI, JENKINS_URL, TEAMCITY_VERSION, TF_BUILD, o BITBUCKET_BUILD_NUMBER. De lo contrario, actor es human. Establezca la variable de entorno AXE_ACTOR en human o automation para anular la detección. El paquete @axe-devtools/browser no puede leer variables de entorno cuando se ejecuta en un navegador, por lo que informa human allí.
equipos
El arreglo teams registra los equipos cuyos miembros ejecutaron la prueba. La CLI, las APIs de Node.js y la API de Ruby siempre lo envían, como un arreglo vacío ([]) cuando no se establecen equipos. Usted proporciona los equipos, con la variable de entorno AXE_TEAMS, la opción --set-teams de la CLI, el método setTeams de su API de Node.js, o la cláusula for_teams o propiedad de configuración teams de la API de Ruby. Cada equipo es un objeto con propiedades de cadena id y name:
[{ "id": "1", "name": "Web" }]Las entradas sin una cadena id y name son descartadas. Un valor que no se puede leer o que no es un arreglo JSON es ignorado, y el evento aún se envía.
propiedadesAplicación
El objeto applicationProperties contiene información de conteo sobre la ejecución de la prueba, como muestra el ejemplo a continuación:
applicationProperties: {
advancedRules: { enabled: false, value: 'disabled', source: 'unavailable' },
target: 'https://broken-workshop.dequelabs.com/',
targetMedium: 'text/html',
urlCount: 1,
engineVersion: '4.14.0',
failedRuleCount: 2,
failedRuleNames: 'color-contrast,label',
failedItemCount: 5,
criticalIssueCount: 3,
seriousIssueCount: 2,
moderateIssueCount: 0,
minorIssueCount: 0,
needsReviewItemCount: 4,
inapplicableRuleCount: 39,
incompleteRuleCount: 2,
passedRuleCount: 21,
testResults: {}
},| Propiedad | Descripción |
|---|---|
| advancedRules | Si se ejecutaron reglas avanzadas. La CLI, las APIs de Node.js y la API de Ruby nunca ejecutan reglas avanzadas, por lo que esto siempre es { enabled: false, value: 'disabled', source: 'unavailable' }. |
| comando | El comando de CLI que ejecutó el análisis, como spec o bulk-spec. Solo enviado por la CLI. |
| recuentoDeProblemasCríticos | Número de elementos fallidos con impacto crítico |
| versiónMotor | La versión de axe-core utilizada para las pruebas |
| conteoElementosFallidos | Número total de errores de accesibilidad encontrados en la página web |
| conteoReglasFallidas | Número de reglas que fallaron en la página |
| nombresReglasFallidas | Cadena separada por comas con los nombres de las reglas que fallaron |
| conteoReglasInaplicables | Número de reglas que no se aplicaron |
| recuentoDeProblemasMenores | Número de elementos fallidos con impacto menor |
| recuentoDeProblemasModerados | Número de elementos fallidos con impacto moderado |
| recuentoDeElementosQueNecesitanRevisión | Número de elementos que necesitan revisión |
| conteoReglasIncompletas | Número de reglas que estaban incompletas |
| conteoReglasPasadas | Número de reglas que pasaron |
| recuentoDeProblemasSerios | Número de elementos fallidos con impacto serio |
| objetivo | URL probada |
| medioObjetivo | Tipo MIME del objetivo. Nombrado target_medium antes de la versión 4.14.0. |
| resultadosPrueba | El objeto testResults, vea la siguiente sección para más información |
| recuentoDeURLs | Número de URLs distintas analizadas. Una página de especificaciones de CLI cuyas acciones navegan y analizan nuevamente informa más de 1. |
resultadosPrueba
El objeto testResults se define como un objeto axeResults (definido por axe-core). Solo se establece cuando has configurado la variable de entorno AXE_INCLUDE_TEST_RESULTS a true, lo cual es compatible solo con la CLI y las APIs de Node.js.
interface AxeResults extends EnvironmentData {
toolOptions: RunOptions;
passes: Result[];
violations: Result[];
incomplete: Result[];
inapplicable: Result[];
}Lo siguiente muestra un ejemplo de un objeto testResults:
{
testEngine: {
name: "axe-core",
version: "4.4.1"
},
testRunner: {
name: "axe"
},
testEnvironment: {
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML,like Gecko) Version/16.0 Safari/605.1.15",
windowWidth: 1280,
windowHeight: 720
},
timestamp: "2023-02-02T20:09:04.785Z",
url: "https://broken-workshop.dequelabs.com/",
toolOptions: {
reporter: "v1"
},
inapplicable: [],
passes: [],
incomplete: [],
violations: []
}Por brevedad, los arreglos inapplicable, passes, incomplete y violations, que normalmente contienen objetos Result, no fueron incluidos.
Puedes ver las definiciones de TypeScript para estos objetos en el repositorio de GitHub de axe-core.
Ver También
Para tutoriales que demuestran cómo usar el servicio de uso, consulta Primeros pasos con el Servicio de Uso y las API y Primeros pasos con el Servicio de Uso y la CLI.
Para información general sobre el servicio de uso, consulta El servicio de uso de Axe DevTools para web.
