2017-09-27 13 views
0

スレッドサンプラーを持つスレッドグループがあります.10人のユーザーが1時間実行するシナリオがあります。各サンプラーの応答データに異なる応答データを表示するビュー結果ツリー。サンプラーが同じ応答データを何回取得するかをカウントすることができます。スレッドグループ内の同じ応答メッセージの読み込み回数

  {"success":false,"code":"104","message":"xx","status":412,"MessageType":"120","ResponseCode":"100","rilreplyDetails":"121"} 

{ "成功":偽、 "コード": "104"、 "メッセージ": "YYY"、 "ステータス":412、 "のMessageType": "120"、 "はResponseCode": "100 "、" rilreplyDetails ":" 121 "}

「yyy」の回答と「yyy」の回答の数はいくつですか? counter_xxcounter_yyyを:

答えて

0

一つの解決策は、すなわち、テスト計画セクションの2つの変数を定義することであろう。

enter image description here

次にサンプラー要求にメッセージ値を抽出し、最終的にはコントローラがインクリメントしたカウンタを指定する場合に使用する一つの正規表現の抽出を追加します。

下の画像は、上記の溶液の構造を示しています。

enter image description here

最後に、あなたは$ {counter_xx}または{counter_yyy} $を使用して、変数の値にアクセスすることができるだろう。 JMeterの再起動が選択する必要があります

jmeter.save.saveservice.output_format=xml 
jmeter.save.saveservice.response_data=true 

:ファイルの最も簡単なのはJMeterのこの外側をやっているだろう

0

、すなわちuser.propertiesに次の2行を追加することにより、応答データを保存するように設定しますプロパティアップ。テストが終了したら、お気に入りのXMLエディタを使用して結果の.jtl結果ファイルを調べます。

このアプローチの詳細については、Configuring JMeterを参照してください。リスナーが現在のサンプラーの応答データをスキャンし、このいずれかまたはjmeter.logファイルに現在の値を印刷することカウンタをインクリメントします

import org.apache.jmeter.engine.util.CompoundVariable 
import org.apache.jmeter.functions.IterationCounter 

def xxcounter = props.get("xxcounter") 
if (xxcounter == null) { 
    xxcounter = new IterationCounter(); 
    List<CompoundVariable> params = new ArrayList<>(); 
    params.add(new CompoundVariable("false")); 
    xxcounter.setParameters(params); 
} 
def yycounter = props.get('yycounter') 
if (yycounter == null) { 
    yycounter = new IterationCounter(); 
    List<CompoundVariable> params = new ArrayList<>(); 
    params.add(new CompoundVariable("false")); 
    yycounter.setParameters(params); 
} 

if (prev.getResponseDataAsString().contains('xx')) { 
    log.info('XX count: ' + xxcounter.execute(prev, sampler)) 
    props.put('xxcounter', xxcounter) 
} 
if (prev.getResponseDataAsString().contains('yyy')) { 
    log.info('YYY count: ' + yycounter.execute(prev, sampler)) 
    props.put('yycounter', yycounter) 
} 


別のオプションは、JSR223 Listenerなどのスクリプトを使用しています。

デモ:JMeterの中のGroovyスクリプトの

JMeter Increment Counter Conditionally

詳細情報:Apache Groovy - Why and How You Should Use It

関連する問題