Riferimento sugli eventi del servizio di utilizzo
Informazioni sulle proprietà della versione 2 dell'evento del servizio di utilizzo
Questo articolo contiene informazioni di riferimento su:
- I dati dell'evento che vengono inviati al servizio di utilizzo (versione 2 dell'oggetto evento,
EventV2) - Il suo oggetto
applicationPropertiescontenuto - L'oggetto
testResults(contenuto all'interno dell'oggettoapplicationProperties) quandoAXE_INCLUDE_TEST_RESULTSè impostato sutrue
Evento Versione 2
La seguente interfaccia TypeScript definisce un evento di versione 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 }[]
}| Nome | Descrizione |
|---|---|
| attore | Che si tratti di una persona (human) o di una pipeline automatizzata (automation) che ha eseguito il test. Impostato dal CLI, dalle API di Node.js e dall'API Ruby. Vedi attore. |
| application | L'applicazione che ha creato questo evento |
| proprietàApplicazione | proprietàApplicazione definito di seguito |
| dateTime | Data e ora (al millisecondo) in formato ISO-8601, fuso orario UTC |
| department | Il dipartimento dell'utente all'interno dell'organizzazione |
| devInstance | Se questo utilizzo è considerato un'istanza di sviluppo e probabilmente dovrebbe essere filtrato |
| distinctId | L'id univoco dell'utente |
| event | Tipo di evento come stringa, di solito valori "analyze" o "uri: analyze" |
| keycloakId | L'ID Keycloak dell'utente |
| loggedIn | Se l'utente è connesso |
| organization | L'organizzazione dell'utente |
| productComponent | Impostato dalle API per indicare diverse integrazioni come Playwright |
| productComponentVersion | Una stringa che indica la versione del componente del prodotto |
| productName | Impostato dalle API per indicare l'integrazione in uso |
| sessionId | Un uuid che identifica la sessione (per consentire il raggruppamento degli eventi) |
| squadre | Le squadre che eseguono il test, come un array di oggetti { id, name }. Impostato dal CLI, dalle API di Node.js e dall'API Ruby. Vedi squadre. |
| userId | L'ID dell'utente |
| userJobRole | La posizione lavorativa dell'utente |
| statoUtente | Lo stato dell'utente |
| versione | Una stringa che specifica la versione dell'evento, sempre 'v2' |
distinctId
Il valore distinctId è un uuid impostato per ciascun utente ogni volta che le metriche vengono registrate. Dovrebbe essere stabile nel tempo perché viene impostato al primo avvio del CLI o del codice che utilizza le API. È memorizzato nel file .deque/distinct_id nella directory home di ciascun utente.
attore
Il CLI, le API di Node.js e l'API Ruby impostano actor su automation quando una di queste variabili d'ambiente è impostata su un valore diverso da 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. Altrimenti, actor è human. Imposta la variabile d'ambiente AXE_ACTOR a human o automation per ignorare la rilevazione. Il pacchetto @axe-devtools/browser non può leggere le variabili d'ambiente quando viene eseguito in un browser, quindi lì riporta human.
squadre
L'array teams registra i squadre i cui membri hanno eseguito il test. Il CLI, le API di Node.js e l'API Ruby lo inviano sempre, come un array vuoto ([]) quando non sono impostate squadre. Fornisci tu stesso le squadre, con la variabile d'ambiente AXE_TEAMS, l'opzione --set-teams del CLI, il metodo setTeams della tua API di Node.js o la clausola for_teams o proprietà di configurazione teams dell'API Ruby. Ogni squadra è un oggetto con proprietà stringa id e name:
[{ "id": "1", "name": "Web" }]Le voci senza una stringa id e name vengono scartate. Un valore che non può essere letto o che non è un array JSON viene ignorato, e l'evento viene comunque inviato.
proprietàApplicazione
L'oggetto applicationProperties contiene informazioni sul conteggio dell'esecuzione del test, come mostra l'esempio seguente:
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: {}
},| Proprietà | Descrizione |
|---|---|
| regoleAvanzate | Se sono state eseguite regole avanzate. Il CLI, le API di Node.js e l'API Ruby non eseguono mai regole avanzate, quindi questo è sempre { enabled: false, value: 'disabled', source: 'unavailable' }. |
| comando | Il comando CLI che ha eseguito la scansione, come spec o bulk-spec. Inviato solo dal CLI. |
| conteggioProblemiCritici | Numero di elementi con impatto critico non funzionanti |
| versioneMotore | La versione di axe-core utilizzata per il test |
| conteggioElementiFalliti | Numero totale di errori di accessibilità trovati sulla pagina web |
| conteggioRegoleFallite | Numero di regole che non sono state superate sulla pagina |
| nomiRegoleFallite | Stringa separata da virgole dei nomi delle regole non superate |
| conteggioRegoleInapplicabili | Numero di regole che non sono state applicate |
| conteggioProblemiMinori | Numero di elementi con impatto minore non funzionanti |
| conteggioProblemiModerati | Numero di elementi con impatto moderato non funzionanti |
| conteggioElementiDaRevisionare | Numero di elementi che necessitano di revisione |
| conteggioRegoleIncomplete | Numero di regole che erano incomplete |
| conteggioRegoleSuperate | Numero di regole che sono state superate |
| conteggioProblemiGravi | Numero di elementi con impatto grave non funzionanti |
| target | URL testato |
| mezzoDiDestino | Tipo MIME di destinazione. Nominato target_medium prima della versione 4.14.0. |
| risultatiTest | L'oggetto testResults, vedere la sezione successiva per maggiori informazioni |
| conteggioURL | Numero di URL distinti analizzati. Una pagina specifica del CLI le cui azioni navigano e analizzano di nuovo, riporta più di 1. |
risultatiTest
L'oggetto testResults è definito come un oggetto axeResults (definito da axe-core). Viene impostato solo quando si è impostata la variabile d'ambiente AXE_INCLUDE_TEST_RESULTS su true, che è supportato solo dal CLI e dalle API di Node.js.
interface AxeResults extends EnvironmentData {
toolOptions: RunOptions;
passes: Result[];
violations: Result[];
incomplete: Result[];
inapplicable: Result[];
}Il seguente esempio mostra un oggetto 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: []
}Per brevità, gli array inapplicable, passes, incomplete e violations, che normalmente contengono oggetti Result, non sono stati inclusi.
Puoi vedere le definizioni TypeScript per questi oggetti nel repo di GitHub di axe-core.
Vedi Anche
Per tutorial che dimostrano come utilizzare il servizio di utilizzo, vedi Iniziare con il Servizio di Utilizzo e le API e Iniziare con il Servizio di Utilizzo e la CLI.
Per informazioni generali sul servizio di utilizzo, vedi Il servizio di utilizzo di Axe DevTools per il Web.
