2017-01-16 16 views
0

でPOSTのボディに、私は次のように、JSONレスポンスを持っているn個のJMeter

{ "name":"John Smith", "address": "#123\r\nRenault Road\r\n123456\r\n" }

と私はアドレスを抽出し、私の次のPOSTリクエストにそれを配置する必要があります。私は後処理要素としてJSON Extractorを使用し、$..addressで、抽出されたアドレスを変数addressに設定しました。私の次の要求で

、私はPOSTデータとして次を使用し、

{ "id": "123456", "address": "${address}" }

だから私は、私のようにPOSTデータを参照要求を行い、

{ "id": "123456", "address": "#123 Renault Road 123456 " }

この私のバックエンドで壊れても、このペイロードは有効なJSONとしても識別されません。 POSTデータは以下のようになるように

は私が

{ "id": "123456", "address": "#123\r\nRenault Road\r\n123456\r\n" }

これを成し遂げるために任意のヘルプ

が高く評価され、リクエストを作りたいです。

答えて

1

これらの改行を\r\nとして送信する必要がある場合は、それらを元に戻すスクリプトを使用できます。

  1. プリプロセッサの「スクリプト」領域に以下のコードを入れてHTTP Requestサンプラー
  2. 「次の要求」の子としてBeanshell PreProcessorを追加:上記のスクリプトが変換されます

    address = vars.get("address"); 
    address = address.replaceAll("\\r\\n","\\\\r\\\\n"); 
    vars.put("address", address); 
    

行はテキスト表現に分割されます。

参考文献:

  • varsが、それはすべてのJMeter変数
  • String.replaceAll()への読み取り/書き込みアクセスを提供し、JMeterVariablesクラスインスタンスの省略形です - JavaのSDKと箱から出てくるStringクラスのメソッドです
  • How to Use BeanShell: JMeter's Favorite Built-in Component - Beanshellテスト要素を使用してJavaおよびJMeter APIを使用して、必要に応じてスクリプトを使用してJMeterテストを強化する方法を示すガイド
関連する問題