Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

徹底解説:Postmanの変数の利用ガイド

Postmanは開発者の間で大人気なツールでは、変数を配置することで、開発の効率をさらに上げることができます。本文では、Postmanの変数について詳しく紹介した上、その利用ガイドも徹底的に解説します。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

現在のアプリ開発では、APIはすでに不可欠の部分になります。APIの導入によって、アプリの機能を充実にし、生産性を極めて向上させることが可能です。Postmanは開発者の間で大人気なツールでは、変数を配置することで、開発の効率をさらに上げることができます。本文では、Postmanの変数について詳しく紹介した上、その利用ガイドも徹底的に解説します。

Postman

Postmanの変数とは?

Postmanの変数は、PostmanというAPI開発ツールで使用される変数のことを指します。Postman 変数は、リクエストで再利用する動的なキーと値のペアになります。ここでキーは変数名を表し、値は変数の値になります。これらの変数は、さまざまな API 間で値を保存して再利用できるため、冗長性が削減され、API テストプロセスでのエラーが最小限に抑えられます。

Postman 変数の一般的な使用例は、APIベースURL や認証トークンなど、複数のリクエストにわたって同じ値を使用する必要がある場合です。これらの値を変数として保存すると、URL、ヘッダー、前処理スクリプト、Bodyなど、リクエストのさまざまな部分でそれらの値を簡単に参照できるようになります。これにより、APIテスト間の一貫性が確保されます。

Postmanの変数

また、もう1つ便利な機能は、環境を配置して編集をグループ化にできるというところにあります。Postmanの環境機能は、環境に応じて異なる値を持つ変数のセットに切り替えることができますので、API開発の各段階においては、手動でデータを変更せずに、簡単に環境を変えてテスト環境を整えます。

Postmanの変数型の定義

Postmanでは、変数型が次のような2つが有ります。

  • デフォルト型(Default Type):追加のプロパティを持たないプレーンテキスト変数です。
  • シクレッド型(Secret Type):パスワードと同様に、すべてのワークスペースで初期値と現在の値を隠します。これらは、機密データの意図しない開示を防ぐために使用されます。
Postman変数型の定義

Postman変数の種類を解説

Postmanでは、開発者が特定のニーズを満たすために、異なる種類の変数をいくつか提供しています。Postmanでテストをより効率化にするために、Postmanのかく種類の変数を理解しなければいけません。そこで、次は、Postmanの各種類の変数を説明します。

グローバル変数(Global Variables)

グローバル変数は、Postmanプロジェクト全体で使用できる変数です。複数のリクエストや環境で同じ値を共有する必要がある場合に使用されます。グローバル変数は、プロジェクトの "Variables" セクションで定義され、どのリクエストでも参照できます。

具体的な使用例

  1. APIベースURL: 複数のAPIエンドポイントを使用する場合、共通のベースURLを変数として定義することができます。それにより、URLの変更や管理が簡単になります。
  2. 認証トークン: APIへの認証に使用するトークンを共通の変数として定義することで、各リクエストで手動でトークンを入力する必要がなくなります。トークンの更新があった場合も、一箇所で変更するだけで済みます。
  3. ユーザーIDやAPIキー: リクエストごとに必要なユーザーIDやAPIキーを共通の変数として定義することで、複数のリクエストで同じ値を使用できます。また、これらの値を変更する際も、変数の値を更新するだけで反映されます。

グローバル変数の構文

Set Global Variable: pm.globals.set("variable_name", "variable_value");
Get Global Variable: var variable_value = pm.globals.get("variable_name");
Unset Global Variable: pm.globals.unset("variable_name");

構文の例

// Set up Global Variable
pm.globals.set("base_url", "https://api.example.com");

// Access Global Variable
var base_url = pm.globals.get("base_url");

// Unset Global Variable
pm.globals.unset("base_url");

環境変数(Environment Variables)

環境変数は、特定の環境(開発、ステージング、本番など)に関連付けられた変数です。各環境には異なる値を持つことができ、切り替えることができます。環境変数は、Postmanの "Environment" タブで定義され、その環境に属するリクエストで使用できます。

環境変数の使用例

  1. テストデータ: テストシナリオで使用するデータ(例:テストユーザーの情報)を共通の変数として定義することで、異なるテストケースで同じデータを再利用できます。テストデータの変更があった場合も、変数の値を更新するだけで変更が反映されます。
  2. 環境固有の設定: 環境ごとに異なる設定(例:開発、ステージング、本番)を共通の変数として定義することで、環境の切り替え時に設定を簡単に変更できます。

環境変数の構文

Get Environment Variable: var variable_value = pm.environment.get("variable_name");
Unset Environment Variable: pm.environment.unset("variable_name");

構文の例

// Set up Environment Variable
pm.environment.set("api_key", "xyz789");

// Access Environment Variable
var api_key = pm.environment.get("api_key");

// Unset Environment Variable
pm.environment.unset("api_key");

コレクション変数(Collection Variables)

コレクション変数は、特定のAPIコレクション内で使用される変数です。コレクション内のすべてのリクエストで共有される値を格納するために使用されます。コレクション変数は、コレクションの "Variables" セクションで定義され、そのコレクション内のすべてのリクエストで利用できます。

コレクション変数の使用例

  1. コレクション固有のデータ:テスト固有のデータやコレクションレベルの構成など、特定のデータ値が特定のコレクション内にのみ関連する場合、コレクション変数をそれらを保存および管理する便利な方法を提供します。
  2. コレクション全体の環境構成: コレクションごとに異なる API キーやエンドポイント URL など、コレクションに特定の環境構成が必要な場合、コレクション変数を使用すると、コレクション全体で値が一貫していることが保証されます。

コレクション変数の構文

Set Collection Variable: pm.collectionVariables.set("variable_name", "variable_value");
Get Collection Variable: var variable_value = pm.collectionVariables.get("variable_name");
Unset Collection Variable: pm.collectionVariables.unset("variable_name");

構文の例

// Set up Collection Variable
pm.collectionVariables.set("auth_token", "abcd1234");

// Access Collection Variable
var auth_token = pm.collectionVariables.get("auth_token");

// Unset Collection Variable
pm.collectionVariables.unset("auth_token");

ローカル変数(Local Variables)

ローカル変数は、一時変数としても知られていて、特定のリクエストのスクリプト内でのみアクセスできます。ローカル変数の範囲は現在のリクエストまたはコレクションに限定されており、実行が完了するとすぐ無効になります。

ローカル変数の使用例

  1. 計算値:リクエスト内で計算や変換を実行する必要がある場合は、同じリクエスト内で後で使用できるように、その結果をローカル変数に保存できます。
  2. リクエスト固有のデータ:リクエストが他のリクエストに関係のない固有のデータを必要とする場合、ローカル変数は、そのようなデータを一時的に保存するためのメーカリズムを提供しています。

ローカル変数の構文

Set Local Variable: pm.variables.set("variable_name", "variable_value");
Get Local Variable: var variable_value = pm.variables.get("variable_name");
Unset Local Variable: pm.variables.unset("variable_name");

構文の例

// Set up Local Variable
pm.variables.set("response_code", 200);

// Access Local Variable
var response_code = pm.variables.get("response_code");

// Unset Local Variable
pm.variables.unset("response_code");

上記では、Postmanで利用可能な変数の種類を紹介しました。これらの変数の定義や効果を深く理解すると、変数を効果的に利用・再利用することで、生産性を向上することができます。また、これらの変数は、{{variable_name}}という形式で参照され、動的なデータの操作やテストの自動化などのさまざまな用途に活用されます。

Postman変数スクリプト

Postman変数の利用制限について

Postmanで変数を設定して、作業の効率を向上することができますが、 Postmanのコレクションの制限によって、その生産性向上に悪影響を出しています。Postmanは、最近コレクションの実行回数に制限を課すことにしました。FreeとBasicプランでは、1ヶ月以内でコレクションを最大25回のみ実行できます。この制限は、開発者、特に大規模のプロジェクトに大きな悪影響を与えています。

Postmanコレクションランナーの制限

また、Postmanは現時点日本語に対応していないため、英語のUIしか使えません。これらの制限により、Postmanを日本語化されたApidogに切り替える必要があります。Apidogでは、変数を設定したり、環境を配置したり、テストのコレクションを無制限に実行したりすることができます。また、個人利用は完全無料になります。

button

Apidogで変数をより簡単に利用する

Apidogは、Postmanより強力で使いやすいAPI管理ツールになります。Apidogの日本語UIで、環境や変数を簡単に設定することができます。また、非常に優れたコラボレーション機能を提供しているので、チームの開発効率をかなり向上することができます。

次の画像のように、Apidogの環境管理画面で、変数を簡単に設定することができます。

apidogでも変数が利用可能

Postmanの変数を日本語対応のApidogにインポート

また、Apidogは、Postmanフォーマットのデータにも完璧に互換できますが、Postmanのデータをエクスポートして、それをApidogにインポートすると、Postmanのコレクション、環境、変数などのデータがApidogで直接に利用できます。

ステップ⒈Postmanの「Export Collection」機能を利用して、コレクションのデータを完全にエクスポートできます。

Postmanのデータのエクスポート

ステップ⒉Apidogは様々なフォーマットにも対応しています。Postmanのコレクションをインポートするには、「Postman」を選択して、Postmanのデータを完璧にApidogにインポートできます。

PostmanのデータをApidogにインポート

ステップ⒊Apidogは、Postmanのデータを完璧に解析することができるので、仕様書、テストケース、変数を含む環境設定、Schemaなども直接にApidogで利用できます。

インポートできたコレクションを確認

まとめ

Postmanでは、変数を利用することで、API作業の効率を大幅に向上できます。本文では、Postman変数を詳しく紹介しましたので、これらの変数をより効率的に利用するために、本文の内容を参照してください。また、Postmanは日本語に対応できていない、コレクション実行に制限があるなどの欠点もありますので、環境、変数やコレクション実行にも対応可能なApidogに切り替えることがおすすめです。ApidogはPostmanより制限が少なく、使いやすいAPI管理ツールになります。

button
ApidogでバックエンドAPI開発の効率をどう向上させるか?チュートリアル

ApidogでバックエンドAPI開発の効率をどう向上させるか?

ApidogはAPI管理の全体的なソリューションを提供し、定義からデバッグ、ドキュメント作成までバックエンド開発を最適化します。プロジェクトの規模に関わらず、開発者が効率的に作業を完了するのを支援します。

中村 拓也

11月 25, 2024

APIテスト効率化:ApidogでのJSONレスポンス管理法チュートリアル

APIテスト効率化:ApidogでのJSONレスポンス管理法

この記事では、ApidogでJSONレスポンスからアサーション設定、変数抽出、JSONパスのコピー方法を解説しました。APIテストの自動化と効率的なレスポンス検証が簡単になり、データの再利用も可能です。Apidogを使い、API機能を確認しましょう。

中村 拓也

11月 20, 2024

ApidogとAlgolia統合で実現する効率的なドキュメント検索チュートリアル

ApidogとAlgolia統合で実現する効率的なドキュメント検索

本記事は、AlgoliaをApidogと統合し、APIドキュメントの検索機能を改善する方法を紹介します。最適な検索設定を維持しながら、情報アクセスの迅速さと効率性を向上させ、ユーザー体験を向上させます。

中村 拓也

11月 19, 2024