JMeterで負荷試験をやるのに、スレッド毎にあるパラメータを可変にしたいってことがよくある。
そんな時愛用してるのが__CSVRead関数。
今日も使い方忘れてて調べたので、将来の自分のためのメモ。
__CSVRead
第一引数:csvファイル名
相対パスで書くとJMeterのbinフォルダの中からファイルから読み込まれる。
絶対パスで書けば、絶対パスで書いたファイルから読み込まれる。
第二引数:カラム
数字で何カラム目のデータをとってくるか指定する。
0始まり。
例えば下のようなCSVをparams.csvという名前用意しておいてJMeterのbinの下に置いたとする。
taro,taropass,searchparam1
jiro,jiropass,searchparam2
sabu,sabupass,searchparam3
このとき、__CSVRead(params.csv,0)はtaroを返す。
行の指定はどうやるの?って思うだろうけど、行はスレッドが立ち上がるごとに割り当てられる。
1スレッド目は1行目、2スレッド目は2行目、3スレッド目は3行目といった感じ。
4スレッド目は1行目になる。
繰り返し実行する場合も、最初に割り当てられた行からデータを取得するようになってる。
1スレッド目が2回目を実行するときも1行目を使うようになる。
実際に使う時だけど、スレッドグループにユーザーパラメータを追加して、そこに変数を追加して適当な名前(例えばuserid)をつける。
ユーザ_1の部分に${__CSVRead(hoge.csv,0)}みたいな感じに入れておく。
そうすると、サンプラーの中で${userid}みたいな形で参照できる。