JMeterのBSF PreProcessorの挙動について
Webアプリの負荷テストをするために、JMeterでテスト計画を作っているのですが、 WebアプリのPOSTデータでUUIDをランダムにPOSTする必要があるため、BSF PreProcessorでUUIDをランダム生成し、POSTの中で使おうとしています。
複数回のHTTPリクエストで同じUUIDを使ってPOSTしてほしいのですが、なぜかPreProcessorが何度も実行されているようで、UUIDがHTTPリクエスト毎に変わってしまう問題にぶち当たりました。
テスト計画の構成は
スレッドグループ
-Pre Processor(この中でJavaScriptを使ってUUIDをランダム生成しvars.putでパラメータ化。パラメータ名は連番を与える)
-ユーザーパラメータ(ユーザー毎の値を設定。authkeyなど)
-HTTPリクエスト(JSONをPOST。ここで連番のパラメータ名のUUIDを使う。)
-ループコントローラ
--HTTPリクエスト(上記のPOSTに関連したJSONをPOST。この際に同じUUIDを使う。ループのカウントで連番のパラメータ名を指定)
です。 ループ内のUUIDが変わってしまうため、POSTデータの関連性が失われてWebアプリのテストが正常に行えないのです。
UUIDを最初のリクエストで全部投げて、以降のループでUUID毎に1つずつ詳細内容をPOSTするため、パラメータ名は連番です。(例:UUID1, UUID2....) なのでユーザーパラメータで${__UUID()}を使って羅列するのは非常に厳しいです。
ググってみても、Pre Processorの挙動について書かれた記事が見当たりません。 どなたか解決策を知っている方、教えてください。 よろしくお願いします。