2012-05-09 10 views
0

私は次のような構造でテストパートを持っている:サンプラー・エラーでJMeterコリレーター+インターリーブ・コントローラーがリセットされましたか?

Test Part 
-Correlator 
--Debug Sampler 
--Interleave Controller 
---Page 1 
---Page 2 
----Response Assertion 
---Page 3 (etc) 
--Regular Expression Extractor 
--Post Debug Sampler 

すべての作品とき、これは正常に動作しているが、私は受信応答が正しいことを確認するためのアサーションを追加してきました。スレッドグループは、サンプラー障害時に次のループを開始するように設定されています。ページ2のレスポンスアサーションが失敗すると、次のループが開始されますが、インターリーブコントローラに到達すると、ページ3にまっすぐジャンプして問題を引き起こします。

サンプラーの障害でインターリーブコントローラーの状態をリセットする方法はありますか?

Willisterman

答えて

0

おかげでこれが予想される動作です。インターリーブコントローラはこのように動作するように設計されています。どのアサーションから得られた結果であっても、次のループのためにリストの次のサンプラーに移動します。

ループ1のループ2が2ページ
ループ3は、ページ3
Loop4が1ページ
LOOP5が2ページ
Loop6は、ページ3
Loop7を実行します実行します実行され実行される実行されますページ1
を実行します。このような...を実行しますPage 1
...

インターリーブコントローラの位置をリセットすることはわかりません。代わりにJMeterには多数のロジックコントローラ(If、While、For Eachなど)だけでなく、カウンターやBeanhellロジックもありますので、ほとんどのことが可能です。

+0

私がインターリーブコントローラーを使用している唯一の理由は、すべてのページ要求後に正規表現エクストラクターを実行することです。これは私がテストしている.netシステムであるので、viewstateを得ることができます。 これはちょっと変わったようですが、各ページの下に正規表現エクストラクタを置くことで置き換えることができます...それは素敵に見えませんが、メンテナンスが容易です... – Willisterman

+0

インターリーブコントローラーを使用してください。私は単純に各要求のための子として正規表現を置くだろう、これはより簡単で予測可能です。私は通常viewstatesでこのように動作するか、むしろ後で返信する必要があるviewstateを与える要求に対してのみ、正規表現を子として置きます。 –

+0

私はそれをより単純なレイアウトに戻しました。これはうまくいきます。それは私がかなりのレイアウトをしようとすることで得られるものです。デバッグサンプラーを各要求の周りに自動的にラップすることができたことは非常に有用でした。 – Willisterman

関連する問題