Postmanのテスト結果として、具体的な応答ヘッダー(「場所」)の値を確認したいと思います。 Postmanのドキュメントで、ヘッダーの存在を確認する方法の例を見つけました
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
しかし、私が探しているのは次のようなものです
pm.test("Location value is correct", function () {
CODE HERE THAT CHECKS "Location" HEADER EQUALS TO SOMETHING;
});
私は最終的に解決策を見つけました:
pm.test("Redirect location is correct", function () {
pm.response.to.have.header("Location");
pm.response.to.be.header("Location", "http://example.com/expected-redirect-url");
});
Testsセクションで特定の応答ヘッダーを取得する別の方法は次のとおりです...
loc = pm.response.headers.get("Location");
念のため、後続のリクエストにヘッダー値などの特定の情報が必要な場合は、以下のように環境変数として保存/設定し、さらに再利用することもできます
pm.environment.set("redirURL", loc);
var loc = null;
pm.test("Collect redirect location", function () {
pm.response.to.have.header("Location");
loc = pm.response.headers.get("Location");
if (loc !== undefined) {
pm.environment.set("redirURL", loc);
}
});
利点は-変数に収集された値を操作できることです。
しかし、それはすべて状況に依存します。同様に、リダイレクトURLを抽出して前処理/後処理することもできます。
例えば、
テストコレクションの実行中に、変数の値を収集し、モックサーバーのHost:portを指すように値を変更します。。