2017-01-25 21 views
1

私は以前のサンプラーの結果に基づいて2つのタスクを実行する必要があるタスクを持っています。実装方法JmeterテストプランのElseブロック?

If Assertion fails { send email with the error message. }else { perform the tasks in while controller. }

私は私が他のブロックに行くの問題がある場合はコントローラ${JMeterThread.last_sample_ok} == false

に条件を提供することにより、簡単に最初の部分を達成しています。私は2つのIFコントローラを試しましたが、成功しませんでした。 ここでは、IFブロックまたはElseブロックのいずれか1つのタスクのみを実行する必要があります。しかし、私の場合、両方のブロックに行き、両方のタスクを実行します。 誰でもこれを達成する方法をお手伝いできますか? enter image description here

答えて

0

JMeterには "Else"ブロックがありません。 "If"のみを持っているため、 "Else"動作が必要な場合は逆の条件で2つのIFコントローラを使用する必要があります。

しかし、第二のためにあなたがあなたのSMTPサンプラーが成功${JMeterThread.last_sample_ok}変数になりますので、もしこの${JMeterThread.last_sample_ok}変数は、あなたのSMTPサンプラーの結果と上書きになりますようにこれを使用することはできませんコントローラー場合は、になりますしたがってコントローラも実行されます。

vars.put("run_while_controller", "false"); 
  • 入れ:あなたのアサーションはBeanShellのプリプロセッサで

    • は次のようにカスタム変数を定義する失敗した場合

      • は、だから私は、次のアプローチをお勧めしますあなたのWhileコントローラ別の場合はコントローラと

      代替オプションは、電子メールを送信した後にテストを停止している状態として${run_while_controller}を使用するが、これは私がダブルチェックにDebug SamplerView Results Tree Listenerを使用することをお勧めし

      は今後すなわちTest Actionサンプラーを使用して行うことができますすべてのJMeter変数の値は、すべてのJMeter変数とプロパティ値を表示する最も便利な方法です。 JMeterテストの予期しない動作の最下部に到達する方法の詳細については、How to Debug your Apache JMeter Scriptの記事を参照してください。

  • +0

    それは働いていました!ありがとう – Namrata

    +0

    2つのIFコントローラは、2つの場所に1つのIFを持つために、潜在的な欠陥の原因となる同じ条件を2回(一度無効にしても)書き込む必要があります。恐るべき。 – Franta

    0

    Please refer this link

    これはそれを使用する方法の詳細な手順があります。

    +0

    リンクのみ回答を投稿しないでください。あなたの答えにもっと詳しい情報を加えてみてください。そうすれば、リンクが消えてもまだ答えが役立ちます。 –

    関連する問題