2016-04-04 29 views
0

私はbealshellアサーションコンポーネントでパラメータとして関数を送信しようとしています。 パラメータは、基本的に反復ごとで異なるダイナミックな文字列ですJmeter - jmeter関数をbsh.argsとして使用

${__V(SB_names_${counter})} 

です。 私はそれは、リスト内の3番目のパラメータですが、私はnullを取得しておくので、

vars.get(bsh.args[2]); 

で、このパラメータにアクセスしようとしています。

enter image description here

それがパラメータとしてJMeterの機能を使用することで、すべての可能ですか?または問題はパラメータを取得することですか?おかげさまで

+0

私は、関数を入れてbashスクリプトを呼び出し、それを$ {__ BeanShell(source( "function.bsh")}}のように呼びたいと思っています。多分それはあなたを助けるでしょう。 –

+0

は、あなたのBeanSHellアサーションがどのように見えるかを示します。 –

答えて

0

それだけで正常に動作する必要があります:

  1. の変数は、「パラメータ」セクションからすべての余分な空白を削除し、「パラメータ」
  2. からすべてのカンマを削除
  3. 定義されていることを確認します。あなたのようJMeterVariablesの略varsオブジェクトから目的の値を得ることを考慮することができます回避策として

String sb_name = vars.get("SB_names_" + vars.get("counter")); 

デモ:

Beanshell function

またJSR223 AssertionGroovyに移動することを検討パフォーマンスの観点から言えばより良い言語です。 groovyエンジンのインストールとスクリプトのベストプラクティスについての詳細は、Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!ガイドを参照してください。

+0

ありがとう! vars.get( "SB_names_" + vars.get( "counter"));仕事をした。なんらかの理由でbsh.args [2]でうまく動作しませんでした。 – user2880391

関連する問題