Version 2.7
設定エレメン
ト>CSV Data Set Config |
CSVファイルを読み込んで、jmeter変数に格納する機能がある。
スレッドグループのループで1行単位で読み込む。ループ要素のあるコントローラの配下に置いた時も1行単位で進む。
名前 |
テスト計画/ワークベンチのツリーに表示さ
れる名前 |
|
コメント |
コメント |
|
Filename |
読み込むCSVファイルの名前を指定する。 |
必須 |
File encoding |
ファイルのエンコードを指定する。 |
|
Variable Names |
CSVファイルより読み込んだデータを格納するJMeterの変数名を先頭からカンマ区切りで指定する。 |
必須 |
Delimiter |
CSVファイルの区切り文字を指定する。タブの場合は\tとなる。 |
必須 |
Allow quoted data? |
ダブルクォートで書くまれたデータの場合にTrueにする。 |
|
Recycle on EOF? |
Trueにすると、ファイルの終了に達したら先頭行から取り直す。 |
|
Stop thread on OEF? |
Trueにすると、ファイルの終了に達したらスレッドはその時点で終了する。 |
|
Sharing mode |
All
threadsを選択した場合、すべてのスレッドを対象にサンプラーが実行されたときに1行ごと読み進む。ただしコントローラ配下のサンプラーは無視される(読み進まない
がその時点のデータはとれる)。すべてのスレッドで使う場合はこのコントローラはスレッドの外側に置いておく必要あり。 Current thread groupを選択した場合、スレッドグループの中でそれぞれファイルを読み進める。 Current threadを選択した場合、スレッド単位に先頭から読み進める。 この設定をループ系のコントローラ配下にある場合にはそのループにより読み進める。 |
CSVファイルの中身
aa,bb,cc 1,2,3 a,b,c あ,い,う |
変数名は先頭のカラムからA,B,C、Sharing modeはAll threadsを選択
1個めのスレッドグループと2個目のスレッドグループでそれぞれ2回ループの設定
1個めのスレッドグループではループコントローラ配置しループ回数は2回を設定
Debug SamplerでJMeter変数が変化するか確認する
実行結果
1個めのスレッドグループのJMeter変数の確認、CSVデータの1行目が取得されてA,B,Cに格納されいる。
これは${A}のようにすれば、HTTPリクエストの設定に使える。
2個目はループコントローラでの2回目なので、CSVデータは読み進んでいない。
ループコントローラ配下にCSV Data Set
Configが設定してあれば、読み進むがすべてのスレッドの共有にはできなくなる。
3回目の結果はほかのスレッドグループで先に2行進んでしまったようで、最終行となっている。
SJISファイルであるが、File EncodingJMeterは指定してないが文字化けせずに読み込めている。
4回目はループコントローラでの2回目なので、CSVデータは読み進んでいない。
もう一つのスレッドグループの1回目は読み進んで2行目のデータが取り込まれている。
続けてこちらのスレッドグループで読み進んでいる。
2012 (C)Javanana