コントローラを使用して特定の応答を待つテストを書いています。 もっと正確に言えば、私はjmeterでメッセージを送信し、そのメッセージは「送信」状態になり、約30秒後に「受信済み」に変更が示されます。だからコントローラを使用して私はメッセージが受信する必要がある時間を取得しようとします。コントローラが要求に応じてスタックしてループしない間にJmeter
- だから私は "状態" 変数を作成し、$ {__のJavaScript( "$ {状態}" に彼のコントローラ条件しばらく値
- "未設定" の設定を与えるのindexOfは( "受信")==。 - 1))
- コントローラの中で、変更されたときに受信した状態を含むべきhttpリクエスト項目を追加します。
- httpリクエストでは、すべてのレスポンステキストを " 。+)」および参照名「State」
- httpリクエストで定数タイマーを5秒追加する
このテストを実行すると、http要求後にスタックされ、緑色で実行され、次に何も起こらず、ここで問題になることはありますか?
更新--------------------------------------------- ------------------------
Siunčiamas=
は別の何かをしようとしました送信します。
クラス= "ラベルプライマリラベル -
$ {__ JAVASCRIPT( "$ {状態}" == "Siunčiamas")}
及びREG発現抽出値に - に制御値中に変更それは今「ID =」parentSyncState ">(Siunčiamas)<
とコントローラは、私は状態変数値を与えている間、前に『Siunčiamas』を
それはhttpリクエストにstucksが、私は、それの後にデバッグサンプラーを追加しました5秒ごとに繰り返し続けます。しかし、正規表現抽出が必要な値を見つけず、 "Siunčiamas"と等しくないデフォルト値を返すまでコントローラは失敗するまでループするはずです。私はここに何かを得ていないのですか?
デバッグサンプラーを追加し、コントローラーのロジックが異なるテストを更新しました。 – safary
HTTPキャッシュマネージャを削除して、試してください。 HTTPの可能性があります。Jmeterのキャッシュレスポンスが新鮮であるため、リクエストが送信されないため、IDはHTTPリクエストを送信しませんでした。私は同じシナリオをシミュレートし、正規表現の値が条件(真)と一致するので、 "HTTP Request"と "D:After Request"の両方を送信しています。 –
最初にlogon-getを要求した後でキャッシュマネージャテストが停止していないのに、もう一度追加してテストが成功しました。問題コントローラーでいくつかの例を読んだあと、キャッシュマネージャーにチェックインしたので、 各繰り返しをクリアし、 キャッシュコントロール/期限切れのヘッダーを使用しているため、キャッシュマネージャの設定になっていたと思います... したがって、すべてがうまくいった。どうもありがとうございました! – safary