Introdução ao Serviço de Uso e à CLI
Um tutorial para rastrear métricas de uso via o serviço de uso com a CLI
Este artigo mostra como usar o serviço de uso com a CLI. Você será orientado na configuração de um servidor local para ecoar eventos do serviço de uso, mostrado como enviar métricas de uso para o servidor usando a CLI e como modificar eventos do serviço de uso usando variáveis de ambiente.
O serviço de uso permite rastrear métricas de uso para o uso da CLI por sua organização. Habilitar o serviço de uso pode ser uma ferramenta importante para sua organização realizar monitoramento de conformidade de licença, auditorias de testes e garantir que todas as instâncias do axe DevTools para Web estejam configuradas de acordo com os padrões de sua organização.
Enviar eventos de uso para o serviço de uso é um processo separado de enviar resultados de acessibilidade em JSON para os Relatórios Axe. Consulte Reportando com o CLI para mais informações sobre relatórios.
Para informações gerais sobre o serviço de uso, veja O Serviço de Uso do axe DevTools.
Pré-requisitos
Você precisa instalar o Node.js para usar este exemplo. Veja Node.js para o instalador do Node.js.
Configurando um Servidor Echo
Crie um arquivo contendo o código mostrado abaixo:
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
// Parse JSON bodies.
app.use(bodyParser.json())
// Accept events.
app.post('/:version/event', (req, res) => {
const event = req.body
console.log(event)
// Respond so the client is happy.
res.status(200)
res.send('Event accepted!')
})
// Listen for requests.
app.listen(3000)Vamos chamar o arquivo de **echo-server.js**. Salve-o em um novo diretório e mude para esse diretório.
O servidor escuta solicitações na porta 3000 e escreve o corpo da solicitação recebida no console. Assim, toda vez que um cliente de API ou teste de CLI é executado (e o registro de uso está ativado), o servidor echo escreve o evento de uso recebido.
Instale **express** e **body-parser**, duas dependências necessárias para executar o código acima:
npm i express body-parserInicie o servidor echo:
node echo-server.jsTestando um Site com a CLI
Agora, você precisará definir duas variáveis de ambiente: primeiro, para habilitar o serviço de uso e, segundo, para fornecer a URL para o servidor (o servidor local criado na seção anterior):
- export AXE_TRACK_USAGE=true
- export AXE_METRICS_URL=
http://localhost:3000
No Linux ou macOS, você pode definir as variáveis de ambiente e invocar uma varredura da CLI de um site em uma única linha como mostrado aqui:
AXE_TRACK_USAGE=true AXE_METRICS_URL=http://localhost:3000 axe https://broken-workshop.dequelabs.com/Definir variáveis de ambiente conforme mostrado acima funciona apenas em máquinas Linux e macOS. Para Windows, você precisa usar set em uma linha separada:
set AXE_TRACK_USAGE=true
set AXE_METRICS_URL=http://localhost:3000Se você quiser manter os valores entre as reinicializações no Windows, pode usar setx (sem sinal de igual):
setx AXE_TRACK_USAGE true
setx AXE_METRICS_URL http://localhost:3000Este comando executa uma análise usando a CLI no site https://broken-workshop.dequelabs.com.
Retorne para a janela do console onde está executando o servidor de eco e você verá os eventos recebidos do servidor de eco, um exemplo de um evento é mostrado abaixo:
{
dateTime: '2023-01-20T20:48:16.864Z',
productComponent: 'api-cli',
productName: 'axe-devtools-html',
version: 'v2',
event: 'uri: analyze',
distinctId: 'f542d302-18a0-42a6-ab7f-ec1e42399bfe',
applicationProperties: {
target: 'https://broken-workshop.dequelabs.com/',
target_medium: 'text/html',
engineVersion: '4.5.2',
failedRuleCount: 2,
failedRuleNames: 'color-contrast,image-alt',
failedItemCount: 12,
inapplicableRuleCount: 33,
incompleteRuleCount: 0,
passedRuleCount: 27,
testResults: {}
}
}Para mais informações sobre o objeto do evento, veja O Objeto do Evento.
Alterando o Evento Usando Variáveis de Ambiente
Você pode usar variáveis de ambiente para alterar as propriedades do evento relatado. Por exemplo, você pode alterar ou adicionar a propriedade userJobRole definindo a variável de ambiente AXE_USER_JOB_ROLE:
AXE_TRACK_USAGE=true AXE_METRICS_URL=http://localhost:3000 AXE_USER_JOB_ROLE="testing" axe https://broken-workshop.dequelabs.com/Um exemplo dos eventos recebidos pelo servidor de eco é mostrado abaixo:
{
dateTime: '2023-01-20T20:52:23.878Z',
productComponent: 'api-cli',
productName: 'axe-devtools-html',
version: 'v2',
event: 'uri: analyze',
distinctId: '9c55a1f8-5177-44ee-a0e3-5dafa5ef9fc9',
applicationProperties: {
target: 'https://broken-workshop.dequelabs.com/',
target_medium: 'text/html',
engineVersion: '4.5.2',
failedRuleCount: 2,
failedRuleNames: 'color-contrast,image-alt',
failedItemCount: 12,
inapplicableRuleCount: 33,
incompleteRuleCount: 0,
passedRuleCount: 27,
testResults: {}
},
userJobRole: 'testing'}A propriedade userJobRole foi adicionada definindo a variável de ambiente AXE_USER_JOB_ROLE, como mostrado na linha destacada.
Para definir outras propriedades no evento, veja Controlando o Serviço de Uso via Variáveis de Ambiente.
Próximos Passos
Para seguir uma versão deste tutorial para as APIs do axe DevTools, veja Introdução ao Serviço de Uso e às APIs.
Para informações gerais sobre o serviço de uso, veja O Serviço de Uso. Para informações de referência sobre o objeto do evento, veja Referência de Eventos do Serviço de Uso.
