使用サービスとCLIの始め方
CLIを使用して使用メトリクスを追跡するためのチュートリアル
この記事では、CLIを使用して使用サービスを利用する方法を紹介します。ローカルサーバーを設定して使用サービスのイベントをエコーする方法、CLIを使用してサーバーに使用メトリクスを送信する方法、環境変数を使用して使用サービスのイベントを変更する方法について説明します。
使用サービスは、組織のCLI使用メトリクスを追跡することができます。使用サービスを有効にすることは、ライセンスコンプライアンスの監視、監査のテスト、そしてすべてのaxe DevTools for Webインスタンスが組織の基準に適合していることを確認するための重要なツールになる可能性があります。
利用イベントを利用サービスに送信することは、AxeレポートにJSONアクセシビリティ結果を送信することとは別のプロセスです。報告についての詳細は、CLIを使った報告をご覧ください。
使用サービスに関する概要情報はaxe DevTools使用サービスを参照してください。
必要条件
この例を使用するには、Node.js をインストールする必要があります。Node.js インストーラーについては Node.js を参照してください。
エコーサーバーのセットアップ
以下に示すコードを含むファイルを作成してください。
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)ファイルを echo-server.js と呼びます。新しいディレクトリに保存し、そのディレクトリに移動してください。
サーバーはポート3000でリクエストを待ち受け、受信したリクエストの本文をコンソールに書き込みます。つまり、APIクライアントまたはCLIのテストが実行されるたびに(利用ログが有効になっている場合)、エコーサーバーは受信した利用イベントを書き込みます。
上記のコードを実行するのに必要な 2 つの依存関係、express と body-parser をインストールしてください:
npm i express body-parserエコーサーバーを開始します。
node echo-server.jsCLIでサイトをテストする
まず、2つの環境変数を設定する必要があります。1つ目は使用サービスを有効にするためのもの、2つ目はサーバーのURLを提供するためのもの(前のセクションで作成したローカルサーバーです):
- export AXE_TRACK_USAGE=true
- export AXE_METRICS_URL=
http://localhost:3000
LinuxやmacOSでは、環境変数を設定し、ウェブサイトのCLIスキャンを単一の行で実行することができます。
AXE_TRACK_USAGE=true AXE_METRICS_URL=http://localhost:3000 axe https://broken-workshop.dequelabs.com/上記のように環境変数を設定する方法は、Linux と macOS のマシンでのみ機能します。Windows では、**set** を別の行で使用する必要があります。
set AXE_TRACK_USAGE=true
set AXE_METRICS_URL=http://localhost:3000Windows で再起動後も値を保持したい場合は、**setx**(等号を付けずに)を使用できます。
setx AXE_TRACK_USAGE true
setx AXE_METRICS_URL http://localhost:3000このコマンドは、サイトhttps://broken-workshop.dequelabs.comでCLIを使用した分析を実行します。
エコーサーバーを実行しているコンソールウィンドウに戻ると、エコーサーバーから受信したイベントが表示され、その例が以下に示されています:
{
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: {}
}
}イベントオブジェクトに関する詳細についてはイベントオブジェクトを参照してください。
環境変数を使用してイベントを変更する
環境変数を使用して報告されるイベントのプロパティを変更できます。例えば、AXE_USER_JOB_ROLE環境変数を設定してuserJobRoleプロパティを変更または追加することができます:
AXE_TRACK_USAGE=true AXE_METRICS_URL=http://localhost:3000 AXE_USER_JOB_ROLE="testing" axe https://broken-workshop.dequelabs.com/エコーサーバーで受信したイベントの例が以下に示されています:
{
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'}userJobRoleプロパティは、AXE_USER_JOB_ROLE環境変数を設定することで追加されました。
イベント内の他のプロパティを設定するには環境変数を介して使用サービスを制御するを参照してください。
次のステップ
axe DevTools APIのためのこのチュートリアルのバージョンに従うには使用サービスとAPIの始め方を参照してください。
使用サービスに関する概要情報については使用サービスを参照してください。イベントオブジェクトに関する参考情報は使用サービスイベントリファレンスを参照してください。
