2016-08-12 5 views
3

解析された応答から動的フィールドを使用しようとしています。解析された応答は、特定の環境を使用して最後に要求されたものでなければなりません。これは可能ですか?ここでPaw - 特定の環境を使用して最後にリクエストを受け取ります。

はシナリオです:

1. Make Request 1 using Environment A 
    Receive Response A1 
2. Make Request 1 using Environment B 
    Receive Response B1 
3. Make Request 2 using environment A, with field from parsed response A1 
    Receive Response A2 
4. Make Request 2 using environment B, with field from parsed response B1 
    Receive Response B2 

はどのようにして、ステップ3と4を編成しますか?

答えて

3

MacOS Sierraのタブを使って正しく実装する予定です。それぞれのタブ操作を専用セッションとして、環境選択をタブに固定します。

これが適切にまだ足に実装されていませんが、あなたは、このためのカスタム動的な値を書き込むか、ハックの回避策を使用することができます。

  1. は、パーティション変数を選択して、あなたの環境では step1

  2. 要求内のX-paw-envヘッダーを設定して、パーティション環境変数を設定します。この方法は、あなたは、あなたがResponse Parsed BodyではなくCustom動的な値を挿入し使用している分野で要求2では環境 step 2

  3. に応じて、パーティション変数の現在の値を取得します。リクエストヘッダーが現在の環境のパーティション変数の値と一致するリクエスト1の最新の交換を取得します。その後RegExp Match step3

function evaluate(context){ 
 
\t var variableValue = \t context.getEnvironmentVariableByName("myPartitioningVariable").getCurrentValue() 
 

 
\t var exchanges = context.getRequestByName("Request1").getAllExchanges(); 
 
\t for (var i = 0; i < exchanges.length; i++) { 
 
\t \t console.log(i, exchanges[i].requestHeaders["X-paw-env"]); 
 
\t \t if (variableValue === exchanges[i].requestHeaders["X-paw-env"]) { 
 
\t \t \t var dv = new DynamicValue("com.luckymarmot.RegExMatch", { re: '"user":\\s*"([^"]*)', input: exchanges[i].responseBody }); 
 
\t \t \t console.log(exchanges[i].responseBody) 
 
\t \t \t console.log(i, "returning") 
 
\t \t \t return dv.getEvaluatedString(); 
 
\t \t } 
 
\t } 
 

 
};

を使用して応答本体から必要な値を抽出
関連する問題