2016-06-22 6 views
3

私はJmeterを学んでいます。Jmeter BeanShellアサーションがテストに失敗しない

私はBeanShellアサーションを持っています。これは、テストが失敗する(失敗はアサーションにハードコードされる)必要があります。しかし、すべてのテストは合格します。私は間違って何をしていますか?

私の理解では、BSAが

Faliure = true; 

を設定した場合、アサーションが失敗したということです。 私の場合、それは失敗しません。

ご覧ください。

Assertion

Result

をあなたは私が1ということを有効にした場合、1つは、私としてテストに失敗し、満たされていませんスクリーンショットに無効にするXPathアサーションを見ることができます期待する。

アップデート:テストに失敗しなかった理由を知る:失敗にはタイプミスがあります...次に質問:それはなぜ実行されましたか?これはJavaではありませんか?これは宣言されていない変数ではありませんか?

ありがとうございました!

答えて

3

あなたは2つのタイプミスがあり、正しい文は次のとおりです。

Failure = true; 
FailureMessage = "Here goes the failure message"; 

アサーションは、コードがBeanShellの観点から問題ありとして、BeanShellの中で明示的にオブジェクトクラスを定義する必要はありません成功しています。有効なコードであれば、アサーションは成功です。ここで

は、トラブルシューティング手法のカップルです:

try { 
    //your code here 
} 
catch (Throwable ex) { 
    log.error("Failure", ex); 
    throw ex; 
} 
:あなたのBeanShellスクリプトの最初の行として debug();を追加

  1. は次のようにtry/catch blockでコードを囲むことでstdout
  2. にデバッグ出力をトリガします

    関連するスタックトレースをjmeter.logに印刷します。ファイル

JMeterの

中のBeanShellテスト要素を使用してに関する包括的な情報について How to Use BeanShell: JMeter's Favorite Built-in Componentの記事を参照してください。
関連する問題