2017-09-20 21 views
0

エンティティが時間の経過とともにステータスを変更するシステムがあります。JMeterレポートの応答時間として計算された値

私は、2つの後続ステータス間を経過した時間を測定するJMeterテストを作成しています。

この情報をレポートに含めることは簡単ではないようです。

は、これまでのところ私は、引数としてタイムスタンプを受け取り、SampleResultを作成BeanShell Samplerを試してみました:

long start = Long.parseLong(vars.get("containerCreatedTime")); 
long end = Long.parseLong(vars.get("containerStartedTime")); 
SampleResult.createTestSample(start, end); 

または単に(これは単なる「レスポンスデータ」に価値を置くデルタを計算する - 影響しません報告書):

Long.parseLong(vars.get("containerStartedTime")) - Long.parseLong(vars.get("containerCreatedTime")); 

これらのアプローチのいずれにも不運があります。

私が基本的に必要とするのは、サンプラーのサンプル時間(応答時間)を計算値で調整することです。

ツールボックスにはツールが少なすぎるため、JMeterの新機能です。誰もが目標を達成する方法を提案できますか?ありがとう!

答えて

1

JMeter 3.1 it is recommended to use Groovy for any form of scripting in JMeter以降、JSR223要素に切り替えることを検討してください。 JSR223 PostProcessor

  1. 経由

    あなたはサンプラーの応答時間を変更する必要がある場合、私はそれをやって推薦はあなたが

  2. は、次のコードを入れて変更したい応答時間、サンプラーの子としてJSR223ポストプロセッサを追加します。

    def delta = (vars.get('containerStartedTime') as long) - (vars.get("containerCreatedTime") as long) 
    java.lang.reflect.Field elapsed = prev.getClass().getDeclaredField('elapsedTime') 
    elapsed.setAccessible(true) 
    elapsed.set(prev, delta) 
    

以上日間Apache Groovy - Why and How You Should Use Itの記事を参照してください: "スクリプト" 領域にJMeterテストでGroovyスクリプトを使用する方法について詳しくは、

+0

魅力的なように見えます!どうもありがとう! –

関連する問題