k6でoptionsに渡した値を、k6スクリプト内から参照する方法を紹介します。
シナリオ実行前に、シナリオ名毎に異なるsetupを行いたい場合に利用できます。
結論
k6/executionを利用しましょう。
https://k6.io/docs/javascript-api/k6-execution/#test
optionsに渡したmetadataを取得出来ます。
例えば、以下のようなoptionsを実行時のオプションとして渡していた場合。
https://github.com/gonkunkun/k6-template/blob/main/src/sample-product/configs/smoke.json
以下のようにして、k6スクリプト内でオプション設定値を取得出来ます。
import exec from 'k6/execution'
const scenarios = exec.test.options.scenarios
console.log(scenarios)
出力のイメージとしては以下の通り。
{
"sampleScenario1": {
"executor": "per-vu-iterations",
"startTime": "0s",
"gracefulStop": null,
"env": null,
"exec": "sampleScenario1",
"tags": null,
"vus": 1,
"iterations": 1,
"maxDuration": "1m0s"
},
"sampleScenario2": {
"executor": "per-vu-iterations",
"startTime": "0s",
"gracefulStop": null,
"env": null,
"exec": "sampleScenario2",
"tags": null,
"vus": 1,
"iterations": 1,
"maxDuration": "1m0s"
}
}
setup()関数の中でシナリオ毎に初期設定を行う場合には便利です。