ガイドライン:PostmanのPre-request ScriptとTests Scriptを利用

PostmanのPre-request ScriptとTests Scriptは、APIリクエストの前後に実行できるJavaScriptコードになり、APIのテストを自動化したり、柔軟な前処理や後処理を行うことに便利なものです。それでは、PostmanでPre-request ScriptとTests Scriptをどのように利用すれば良いでしょうか?本文では、この2種類のScriptを詳しく解説した上、どのようにそれぞれの利用方法をも一緒に解説していこうと思います。

中村 拓也

中村 拓也

11 5月 2025

ガイドライン:PostmanのPre-request ScriptとTests Scriptを利用

PostmanのPre-request ScriptとTests Scriptは、APIリクエストの前後に実行できるJavaScriptコードになり、APIのテストを自動化したり、柔軟な前処理や後処理を行うことに便利なものです。それでは、PostmanでPre-request ScriptとTests Scriptをどのように利用すれば良いでしょうか?本文では、この2種類のScriptを詳しく解説した上、どのようにそれぞれの利用方法をも一緒に解説していこうと思います。

💡
Apidogは PostmanのScript に完全に互換しつつ、アサーション、変数抽出、データベース操作などの高度な機能をサポートしています。右側のコードスニペットを活用できるため、手作業を最小限に抑えられます。
button

PostmanのPre-request ScriptとTests Scriptとは

PostmanのPre-request ScriptとTests Scriptは、APIリクエストの前後に実行できるJavaScriptコードです。

Pre-request Script

Pre-request Scriptは、Postmanでリクエストが送信される前に実行されるScriptになります。Pre-request Scriptを利用することで、環境変数の設定や動的な値の生成、認証トークンの取得など、リクエストに必要な前処理を行うことができます。例えば、リクエストボディにランダムな値を設定したり、現在時刻をリクエストヘッダに追加したりできます

Tests Script

その一方で、Tests Scriptは、Postmanでリクエストのレスポンスを受け取った後に実行されるScriptになります。Tests Scriptを利用することで、レスポンスデータの検証を行ったり、応答に基づいて変数を設定したりできますし、レスポンスコードやレスポンスボディ、レスポンスヘッダなどを確認し、テストケースを記述することもできます。

Tests Scriptを利用する場合、テストが失敗した場合は赤色、成功した場合は緑色でマークされます。

これらのスクリプトを活用することで、APIのテストを自動化したり、柔軟な前処理や後処理を行うことができます。Pre-request Scriptではリクエスト側の準備、Tests Scriptではレスポンスの検証やデータ操作ができるので、API開発やテストの生産性が大幅に向上します。

PostmanでPre-request ScriptとTests Scriptを利用する

それでは、Postmanでより効率的なAPIテストを図るために、このPre-request ScriptとTests Scriptをどのように利用すれば良いのでしょうか。この部分では、PostmanでPre-request ScriptとTests Scriptの利用方法を詳しく説明していこうと思います。

Pre-request Scriptを利用

  1. Postmanを開き、左側のサイドバーから対象のコレクションを選択します。
  2. コレクション内の任意のリクエストを選択します。
  3. 右側の「Pre-request Script」タブをクリックします。
  4. このタブ内にJavaScriptコードを記述します。
Pre-request Script

Pre-request Scriptで利用可能なScript例

Tests Scriptを利用

  1. 手順1・2と同様にコレクションとリクエストを選びます。
  2. 右側の「Tests」タブをクリックします。
  3. このタブ内にJavaScriptコードを記述します。
Tests Script

記述したスクリプトは、そのリクエストが実行されるたびに実行されます。

スクリプトには、Postmanの提供する様々な変数やメソッドがアクセスでき、以下のようなことができます。

Tests Scriptで利用可能なScript例

公式ドキュメントにも多くの情報があり、さらにコミュニティで共有されたサンプルコードも参考になります。実践を重ねるとスクリプト記述力が身につきます。

Pre-request ScriptとTests Scriptの使用例

それでは、実際には、PostmanのPre-request ScriptとTests Scriptを利用する場合は、どうしたらいいですか?次は、Pre-request ScriptとTests Scriptの実際の使用例を紹介しますので、実際の作業でどのようにこのScriptを利用するかを一緒に観にいきましょう。

Pre-request Scriptの使用例

// ランダムな数値をリクエストボディに設定する
const randomNumber = Math.floor(Math.random() * 100);
pm.request.body.update({
  mode: 'raw',
  raw: JSON.stringify({ randomNumber: randomNumber })
});

// 現在時刻をリクエストヘッダに設定する
const now = new Date().toISOString();
pm.request.headers.upsert({
  key: 'X-Current-Time',
  value: now
});

// 環境変数を参照してベースURLを設定する
const env = pm.environment.get('env');
const baseUrl = env === 'production' ? 'https://api.example.com' : 'http://localhost:3000';
pm.request.url.update({ host: baseUrl });

Tests Scriptの使用例

// レスポンスコードが200であることを検証
pm.test('Status code is 200', function() {
  pm.response.to.have.status(200);
});

// レスポンスボディにある特定のキーと値を検証
pm.test('Response includes correct data', function() {
  const responseData = pm.response.json();
  pm.expect(responseData.name).to.eql('John Doe');
  pm.expect(responseData.age).to.be.above(20);
});

// レスポンスヘッダを検証
pm.test('Response has correct header', function() {
  pm.response.to.have.header('Content-Type', 'application/json');
});

// 成功時のみグローバル変数を設定
if (pm.response.code === 200) {
  const responseData = pm.response.json();
  pm.globals.set('userId', responseData.id);
}

// 別の条件でリクエストを送信
if (pm.response.json().status === 'pending') {
  pm.sendRequest('https://api.example.com/retry', function(err, res) {
    // 別リクエストの応答処理
  });
}

これらは一般的な利用例ですが、APIの構造や要求に合わせてスクリプトを記述する必要があります。PostmanのAPIドキュメントやコミュニティのサンプルを参考にするとより実践的なスクリプトが書けるでしょう。

ApidogでScriptをより便利に利用

APIテストの中で、Scriptを利用して高度な操作を行うために、ApidogはPostmanより便利なツールだと考えられています。ApidogはAPIの設計、テスト、モック及びドキュメンテーションにも対応できるオンストップなAPI管理ツールとして、PostmanのScriptにも完全に互換しています。

button

Apidogでリクエストの設定画面で、「前処理」か「後処理」で「カスタムScript」を追加することができます。

ApidogでカスタムScript

ここで、PostmanのScriptが直接に利用されます。また、右側メニューで利用可能なコードスペニットがたくさんありますので、コードを手動で入力したくない場合で、右側のコードスペニットをクリックすると、自動的に入力してくれます。

PostmanのScriptに互換

PostmanのScriptを直接に利用するだけではなく、Apidogは次のような様々な操作をサポートしています。

Scriptの他にも様々な高度機能が

上記のように、Apidogを使えば、PostmanのScriptの記述に加えて、他にも様々な高度な機能を活用することができるので、APIに関する作業をより簡単にすることができるのでしょう。

button

まとめ

Postmanの Pre-request Script と Tests Script は、APIテストの自動化や柔軟な前処理・後処理を実現するための強力なツールです。Pre-request Scriptでは、リクエスト送信前に環境変数の設定、動的値の生成、認証トークンの取得などの前処理を行えます。一方、Tests Scriptではレスポンスデータの検証、変数の設定、追加リクエストの送信などの後処理が可能です。

これらのスクリプトを活用することで、API開発の生産性が大幅に向上します。実践を重ねることで、より高度なスクリプトを記述できるようになります。

さらに、Apidogは PostmanScript に完全に互換しつつ、アサーション、変数抽出、データベース操作などの高度な機能をサポートしています。右側のコードスニペットを活用できるため、手作業を最小限に抑えられます。

Apidogを使えば、PostmanScriptの記述に加えて様々な操作を行え、APIの設計、テスト、モック、ドキュメント化までをシームレスに実現できます。APIライフサイクル全体を包括的に管理できるため、Apidogは APIテストとその先の領域でも大きな恩恵をもたらすでしょう。

Explore more

n8n徹底解説:初心者でもできるローカル自動化

n8n徹底解説:初心者でもできるローカル自動化

n8nは柔軟で簡単な自動化ツール。Dockerで手軽にローカル実行でき、ITプロや初心者もAIワークフロー構築を楽しめます。

10 6月 2025

Pythonで簡単!APIデータ抽出と自動データパイプラインの作り方

Pythonで簡単!APIデータ抽出と自動データパイプラインの作り方

PythonでAPIからデータ抽出ができれば、堅牢なデータパイプライン構築が可能です。認証やエラー処理も押さえ、自動化されたプロセスを実現できます。

7 6月 2025

MindsDB: あらゆるITユーザーのための万能MCPサーバー

MindsDB: あらゆるITユーザーのための万能MCPサーバー

MindsDBは、200以上のデータソースへの接続を容易にし、AIアプリの構築やインサイトの探索をプロのように実現します。さらなるデータソースの接続や、APIdogでのAPIドキュメント化をお試しください。

26 5月 2025

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる