2017-09-25 6 views
1

私は、イテレーション番号をログに出力する単純なカウンタを作成しようとしています。 問題は、iのint値を0に初期化する方法が見つからないということです。 Beanshellスクリプト内で初期化を続ける場合は、最初に実行する必要がありますテスト。 マイコード:Beanshellを使って簡単なカウンターを作成するには?

int i=0; 
log.info(string.valueOf(i)); 
i=i+1; 

答えて

2

はJSR223サンプラーは、初期化後

vars.putObject("i", 0); 

あなたがそれをインクリメントすることができて、その下に、コントローラのみ一度追加した後、それ(ないコントローラーの下で)他のJSR223サンプラーと:

myI = vars.getObject("i") 
log.info(String.valueOf(myI)); 
vars.putObject("i", ((Integer)myI+1)); 
+0

を使用してCustom JMeter Functionsバンドルの一部として__iterationNum()機能をインストールすることができます。 JSR223サンプラーでどの言語を選択する必要がありますか? –

+0

私はグルーヴィーを使用しました。あなたのエラーは何ですか? – user7294900

+0

それは今働きます。テストプランの下でユーザー定義変数 "i"を追加し、langをGroovyに変更しました。ありがとう! –

1

可能であればスクリプトを避けることをお勧めします。スクリプトを作成しないと生きられない場合は、 JSR223 Test ElementsGroovyです。

特にあなたの場合は、任意のスクリプトなしで実装することができ、あなたは次のJMeterの機能を使用することができます。

  • __log() - 返します - jmeter.logファイル
  • __iterationNum()に任意のメッセージを出力しますあなたのようなステートメントを使用している場合、現在の反復数

だから:${__log(Current iteration is: ${__iterationNum},,,)}関数であるJMeterはそれを返します。対応するメッセージを呼び出してログファイルに追加印刷します。

デモ:

JMeter IterationNum Function Demo

あなたが、私はエラーを取得していますJMeter Plugins Manager

JMeter Custom Functions Plugins Manager

関連する問題