2

JMeter 2.7 を使用して Web アプリケーションの負荷テストを行っています。そこから抽出したい 2 つの値を持つ JSON ドキュメントを返す HTTP Request Sampler があります。そのために、次の構成で 2 つの RegEx PostProcessor をサンプラーに割り当てています。

Regular Expression Extractor
Apply to: Main Sample Only
Response Field to Check: Body
Reference Name: val_1
Regular Expression: "val_1": "(\S+)"
Template: $1$
Match No.: 1

2 番目の構成は同じで、 を置き換えるだけval_2ですval_1。これらは機能するはずです。

現在、後続の HTTP 要求に JSR223 PreProcessor スクリプトもあり、取得した値を正規表現で変換するために使用したいと考えています。ただし、 と の出力vars.get('val_1')vars.get('val_2')両方とも null 値です。ユーザー定義の変数と「適用先」の設定をいじっても、有用な結果は得られませんでした。

誰かが私が間違っていることを説明できますか? JSR223 スクリプトで RegEx エクストラクタを介して取得したデータを使用するにはどうすればよいですか? 前もって感謝します。

編集 - 2012 年 9 月 26 日
もう少し構造を説明してほしいという要望がありましたので、概要を説明します。

Thread Group
    Once Only Controller
        HTTP Sampler
            Regular Expression Extractor (for val_1)
            Regular Expression Extractor (for val_2)
    Some Additional Simple Controllers with HTTP Samplers Here
    Throughput Controller (80%)
        HTTP Sampler
            JSR223 PreProcessor (This is the PreProcessor in question)
            Regular Expression Extractor (to grab an unrelated value from the response)
    Some Additional Controllers with HTTP Samplers Here

うまくいけば、これはもっと役に立ちます。

4

1 に答える 1

1

あなたの正規表現は"val_1": "(\ S +)"ですか?

Httpサンプラーの直後にデバッグサンプラーを追加して、2つの変数が定義されていることを確認できますか?これを行うには、ツリー結果リスナーを追加し、デバッグサンプラーが何を表示するかを確認します。

于 2012-09-26T22:17:57.013 に答える