Postman
Collection 変数(Collection 専用、安全)
| メソッド / 属性 | 範囲 / 適用 | 用途 | 例 |
|---|---|---|---|
pm.variables.set("key", value) | 現在 の Collection 内 のみ有効 | 前 の API 結果 を次 の API に保存 | pm.variables.set("prevId", 123); |
pm.variables.get("key") | Collection 内 のみ | Collection 変数 を読 み取 る | let id = pm.variables.get("prevId"); |
pm.variables.unset("key") | Collection 内 のみ | Collection 変数 を削除 | pm.variables.unset("prevId"); |
他
の Collection に影響
しない、安全
Environment 変数(特定 Environment 向け、Collection を跨いで使用可能)
| メソッド / 属性 | 範囲 / 適用 | 用途 | 例 |
|---|---|---|---|
pm.environment.set("key", value) | 現在 選択 中 の Environment | 異 なる環境 のパラメータを保存 | pm.environment.set("baseUrl", "https://dev.api.com"); |
pm.environment.get("key") | 現在 選択 中 の Environment | 環境 変数 を読 み取 る | let url = pm.environment.get("baseUrl"); |
pm.environment.unset("key") | 現在 選択 中 の Environment | 環境 変数 を削除 | pm.environment.unset("baseUrl"); |
異
なる Collection が同
じ Environment を使用
すると変数
を共有
し、汚染
の可能性
がある
Global 変数(Collection を跨いで、グローバルに共用可能)
| メソッド / 属性 | 範囲 / 適用 | 用途 | 例 |
|---|---|---|---|
pm.globals.set("key", value) | すべての Collection で使用 可能 | Collection を跨 いで共有 する値 を保存 | pm.globals.set("token", "abc"); |
pm.globals.get("key") | すべての Collection | グローバル変数 を読 み取 る | let t = pm.globals.get("token"); |
pm.globals.unset("key") | すべての Collection | グローバル変数 を削除 | pm.globals.unset("token"); |
どの Collection からも読
み書
き可能
→ 汚染
リスクが高
い
その他の共通 pm.* メソッド
Request 情報
| メソッド / 属性 | 用途 | 例 |
|---|---|---|
pm.request | 現在 の Request を取得 /変更 | pm.request.headers.add({key:"X-Id", value:"123"}); |
pm.request.url | URL を取得 | console.log(pm.request.url.toString()); |
pm.request.method | HTTP Method を取得 | console.log(pm.request.method); |
Response 情報
| メソッド / 属性 | 用途 | 例 |
|---|---|---|
pm.response | Response を取得 | let data = pm.response.json(); |
pm.response.code | HTTP Status Code | pm.expect(pm.response.code).to.eql(200); |
pm.response.json() | JSON Body を解析 | let data = pm.response.json(); |
pm.response.headers.get("Header-Name") | Response Header を取得 | let h = pm.response.headers.get("Content-Type"); |
テスト / 検証
| メソッド / 属性 | 用途 | 例 |
|---|---|---|
pm.test("説明", function(){}) | 検証 テストを定義 | pm.test("status 200", ()=> pm.expect(pm.response.code).to.eql(200)); |
pm.expect(actual).to.eql(expected) | 値 を検証 | pm.expect(pm.response.json().statusCode).to.eql(0); |
pm.expect.fail("メッセージ") | テストを強制 失敗 | pm.expect.fail("C failed"); |
フロー制御
| メソッド / 属性 | 用途 | 例 |
|---|---|---|
postman.setNextRequest("Request Name") | Collection Runner で次 の Request を制御 | postman.setNextRequest("D"); |
throw new Error("メッセージ") | Request 実行 を中断 | throw new Error("Skip D because C failed"); |
Console / Debug
| メソッド / 属性 | 用途 | 例 |
|---|---|---|
console.log() | 情報 を出力 | console.log(pm.response.json()); |
console.warn() | 警告 メッセージ | console.warn("prevId not found"); |
console.error() | エラーメッセージ | console.error("Request failed"); |
Iteration / Data
| メソッド / 属性 | 用途 | 例 |
|---|---|---|
pm.iterationData.get("key") | Collection Runner の単一 イテレーション | let username = pm.iterationData.get("user"); |
pm.info.iteration | 現在 のイテレーション回数 を取得 | console.log(pm.info.iteration); |
pm.info.requestName | 現在 の Request 名 を取得 | console.log(pm.info.requestName); |
推奨使用戦略
- **安全
、Collection 内
のみで使用
** → Collection 変数
(
pm.variables) - 異
なる環境
(Dev/Prod)向
け → Environment 変数
(
pm.environment) - **Collection を跨
いで共有
** → Global 変数
(
pm.globals)、汚染 を避 けるためできるだけ使用 を控 える