tech_memo / JMeter


tech_memo

スレッドグループ間の変数共有

  • BFSサンプラーなどのスクリプト間でやり取りする場合は、以下のAPIを利用可能
    props.put("hoge", "hogeVal")
    props.get("hoge")
  • propsでなく、varsも同様の機能があるが、こちらはスレッドグループ間をまたぐことはできない

基本操作

ループ実行

CSVインプットの場合

  • 設定エレメントの、CSV Data Set Config を利用すると簡単にできる
  • CSVの行データをすべて読んだら、スレッドを停止させるオプションがあるので、このオプションを有効にして、かつ、 スレッドグループのループ回数を無限にすることで、CSVの全行を読み込んだらテストを終了させることができる。
  • CSVの行数をすべて読むために、ループ回数を無限に設定。スレッド数はいくつでもよい。
    • jmeter_csv_loop_thread_groop.png
  • CSVの行をすべて読んだら、スレッドを停止するよう設定。行データを再利用しないようにも設定。
    • jmeter_csv_loop_csv_data_set.png
  • Soap Request
    • jmeter_csv_loop_soap_req.png

CSVのデータを1つのスレッドグループだけで利用したい

  • CSV Data Set Configをスレッドグループ配下に設置し、CSV Data Set Configの、Sharing modeのオプション値を「Current thread group」に設定する

Excel入力の場合

  • Excel読み込み処理。行数と、現在の行番号も変数格納する。
    • jmeter_excel_loop_read_input.png
  • Loop Controllerに行数の変数を設定。
    • jmeter_excel_loop_loop_controller.png
  • ループの中で現在の行カウンタ変数を取得して、リクエストに設定する変数を格納(口述のSoapRequest?内で変数のネスト参照ができれば格納は必要ないがやり方不明)。行カウンタも+1する。
    • jmeter_excel_loop_param_setting.png
  • Soap Request
    • jmeter_excel_loop_soap_req.png