web-dev-qa-db-ja.com

コレクション内のリクエスト全体でPostmanヘッダー値を変数に保存する

こんにちは、スタッカー、

Postmanでテストスイートを自動化して、手動で各リクエストに移動し、そのヘッダー値を最初のリクエストで最初に入力したものに変更する必要がないようにしています。

私のテストスイートは現在次のようになっています。

最初のリクエスト:

var headerValue = postman.setGlobalVariable('Number', headerValue);
console.log("Number is: " + headerValue);

2番目のリクエストヘッダー:

Number - {{headerValue}}

HeaderValueにはグローバル変数として設定したが、未定義として戻ってくるため、headerValueの値は 'Number'になると予想されます。何が間違っているのかわかりません。

14
jmcode

これはあなたがこれを行う方法です

Refresh_tokenがヘッダー値の場合

postman.setGlobalVariable("refresh_token",postman.getResponseHeader("Refresh_token") );

公式ドキュメント: https://www.getpostman.com/docs/postman/scripts/test_examples

32
Sai Ram Reddy

getResponseHeaderは現在廃止されているため、@ Saiの答えはもう機能しないようです。更新されたコードは次のとおりです。

pm.test("First request", function() {
    let headerValue = pm.request.headers.get("Number")
    pm.globals.set("Number", headerValue);
});

2番目のリクエストgo Headersセクションで、Numberをキーとして{{Number}}値として。

いいえ、この方法を試してください。郵便配達員の場合、環境変数またはグローバル変数を設定する場合は、この方法で(key、value)パターンを使用します。

postman.setEnvironmentVariable(key,value) or   
postman.setGlobalVariable(key,value) 

最後に{{key}}を使用してそれらを取得します

var headerValue = ”your value goes here”;
postman.setGlobalVariable('Number', headerValue);

サブ後続リクエストヘッダーで{{Number}}を使用します

0
Always Sunny