特定の値に達するとテストプランを作成しようとしていますが、いくつかの機能が実行されます。テスト計画は、ループで実行されている複数のスレッドで構成されており、何らかの条件が満たされたらHTTPリクエストを発行したいと考えています。インデックスとプロパティの更新でループするJMeter
私のテストでは、論理が複数のスレッドでループしており、条件が満たされたとき(条件が10秒ごとに満たされたとき)、繰り返し処理が必要です前回の反復から保存する値 - 私が定義した値は、プロパティ(user.properties
) - startIndex = 0
(0に初期化)です。 は、だから私はそれが条件だWhile Controller
はこのようなものです作った:
${__javaScript(${__P(startIndex,)}<=${currBulk},)}
そして、私はしばらくの内側startIndex
値に依存HTTPリクエストが、ときstartIndex<=currBulk
変数に実行されることを期待します。 While Controller
インサイド
HTTPリクエストは、すべてのインデックスがカバーされるまで、解雇されるようにすべきである、と私はBeanShell PostProcessor
内でこのようにそれを書いた:だから
int startIndexIncInt = Integer.parseInt(props.getProperty("startIndex")); //get the initiated index of the loop
startIndexIncInt = startIndexIncInt + 1; //increment it and see if needed to fire the request again, by the original While condition
vars.put("startIndexIncIntVar", String.valueOf(startIndexIncInt));
props.put("startIndex",vars.get("startIndexIncIntVar")); //the property incremental and update
、私は次の順序でのようなことにそれを設計し(10秒後)新しいcurrBulk
(私のテスト計画によって常に更新される)と比較される更新済みのstartIndex
があります。 そして、私はちょうどそれをやりました。
startIndexIncInt = Integer.parseInt(props.ge . . . '' : Typed variable declaration : Method Invocation Integer.parseInt
私が定義されてもvar startIndexIncIntVar
がsettedされていないことは言うまでもない(私はデバッグサンプラー経由でチェックする):私のようなエラーを受信し続けます。 また、私の問題は時間を入力することではない、私の問題は基本的に私がインクリメントして私のHTTPリクエスト(while条件とbeanshellポストプロセッサスクリプト)の中で使うべき変数である
ただそれについての情報、私はそれは次のようになり擬似コードとしてそれを書いた場合:私はどんなのBeanShellスクリプトを見ることができないよう