2016-11-15 35 views
3
if(!reqAdSize.equalsIgnoreCase(hm.get("ad_size"))) 
{ 
    Failure = true; 
    FailureMessage = "Ad Sizes Doesn't Match"; 
} 

if(!reqCur.equalsIgnoreCase(resCur)) 
{ 
    Failure = true; 
    FailureMessage = "Request & Responce Currency are NOT same"; 
} 

if(!reqID.equalsIgnoreCase(resID)) 
{ 
    Failure = true; 
    FailureMessage = "Request & Responce Id is NOT same"; 
} 

私のjeMterでは、条件が満足すれば私のBeanShellアサーションコードがすべてここにあります。 結果では、最後にFailureMessageが表示されます。最初の条件が真で、それ以上実行されなければ、コードの実行を停止する必要があります。

System.exit(0);exit();を使用しようとしました。しかし、jMeter GUIは自動的に閉じます。
BeanShellの現在の行で実行を停止する方法とは何ですか?Beanshellアサーションでのプログラムのさらなる実行を停止する方法

答えて

2

returnキーワードをBeanShellコードの実行を停止したい場所に追加します。

+0

感謝を。それは完璧に動作している&私は答えを受け入れた。 ** return **キーワードを使用する前と** return **キーワードを使用する前に、内部的に何が起きているかを詳しく説明できますか? – KC7

+0

Javaのキーワード「return」と同じです。あなたがJavaを知っているなら、あなたは "リターン"キーワードが正しいということを知っています。 returnキーワードを呼び出したときに実行を停止し、CALLERに実行制御を戻します。呼び出し元に "return reqVar1"のように返す引数を追加することもできます。 –

0

BeanshellアサーションにSampleResultの事前定義変数があります。これは、org.apache.jmeter.samplers.SampleResultクラスの省略形です。次の方法に見てみましょう:

のような何か:JMeterのコンテキストでBeanShellのスクリプトに

if (!reqAdSize.equalsIgnoreCase(hm.get("ad_size"))) { 
    Failure = true; 
    FailureMessage = "Ad Sizes Doesn't Match"; 
    SampleResult.setStopTest(true); 
} 

ガイド:返信用How to Use BeanShell: JMeter's Favorite Built-in Component

+0

Dmitri、彼はBeanシェルアサーションに存在するコードの実行を停止するように頼んだが、テスト全体を中断しないようにしました。最後の行「BeanShellの現在の行で実行を停止する方法は何ですか?」を参照してください。 @Chaitanya、あなたが期待していることを確認してください?テストを中止しますか?またはbeanshell実行コードを停止しますか? –

+0

Dmitri beanshell実行コードを停止する必要があります。 @Naveenは正しい – KC7

関連する問題