2017-02-03 39 views

答えて

0

シナリオが多すぎるため、詳細(つまり、部分的かもしれない)と次のリクエストの様子を共有しない限り、誰も助けることができません。一般的に

:あなたはBeanshell PostProcessor持っ

  • ので、あなたが親にサンプラーのレスポンスボディにアクセスし、それはあなたがBeanshell PreProcessor
  • を持っているからあなたが必要なものを抽出するためにprev.getResponseDataAsString()メソッドを使用することができ、親SampleResultの略prev速記samplerこれを表す省略形、つまりAbstractSamplerの実装では、関連するメソッドとフィールドを操作できます。

Beanshellテスト要素のJMeter APIの使用方法の詳細については、How to Use BeanShell: JMeter's Favorite Built-in Componentを参照してください。

+0

応答:{"formId": "1234"、 "formResponseId": "1"、 "responseStatus": "a"}、{"formId": "4567"、 "fo rmResponseId": "2" "formId": "1234"、 "fo rmResponseId": "3"、 "rssponseStatus": "b"}、{"formId": " "4567"、 "fo rmResponseId": "4"、 "r esponseStatus": "b"}、iwステータスに一致するフォーム応答IDを取得するためのant b。同様に、何千もの回答があります。まず、すべてを格納する必要があり、レスポンスIDとステータスインデックスの値は配列に格納した後に一致する必要があります。それは二次元配列に格納されているさらに私はIFループを使用して特定の状態を評価したい。 –

1

したがって、最初のリクエストの応答からいくつかのデータを抽出し、2番目のリクエストにリクエストパラメータとして渡したい場合 - beanshellを使用してコードを書く必要はありませんが、Jmeterは正規表現エクストラクター。ここでは、Perlで簡単な正規表現を書いて、Param1という参照名を付けることができます。あなたの2番目の要求では、たったの$として変数を渡す{Param1_g1}

あなたの応答が

<city>London</city> 

であり、あなたが別の要求でそれを渡してロンドンを抽出したいと仮定し、正規表現は次のようになり

<city>(.*)</city> 
+0

私はこれを試しましたが、単一のパラメータをキャプチャするためです。私は配列内の複数のパラメータを取得し、それをさらに要求するために渡す必要があります。 **(。*?)**を使用してパラメータを取得できました。しかし問題は、それが2次元配列で格納されていて、私は混乱していたということです。 –

+0

応答:{"formId": "1234"、 "formResponseId": "1"、 "responseStatus": "a"}、{"formId": "4567"、 "formResponseId": "2"、 "responseStatus" "b"}、{"formId": "1234"、 "formResponseId": "3"、 "responseStatus": "b"}、{"formId": "4567"、 "formResponseId": "4"、 "responseStatus ":" b "}、ステータスbに一致するフォーム応答IDを取得します。同様に、何千もの回答があります。まず、すべてを保存する必要があります。レスポンスIDとステータスインデックスの値は、配列に格納した後で一致する必要があります –

関連する問題