要点
Postmanは無料プランでのCollection Runnerへのアクセスを制限し、アップグレードしていないチームの自動テスト実行を妨げています。これは、ローカルテストの実行、CI/CDパイプライン、およびRunnerを使用して大量のリクエストを実行していたあらゆるワークフローに影響します。この記事では、何が変更され、それが実際に何を破壊するのか、そしてApidogのランナーがあらゆるプランで制限なく機能する方法について説明します。
はじめに
PostmanのCollection Runnerは、最もよく使われる機能の1つでした。50個のAPIリクエストのコレクションを作成し、「コレクションを実行」をクリックすると、Postmanはそれらを順番に実行し、リクエスト間で変数を渡し、各レスポンスでテストアサーションを行い、最後に概要レポートを表示します。複雑な多段階フローをテストする開発者にとって、これは不可欠なものでした。
その後、2026年の制限が導入されました。無料プランの縮小の一環として、PostmanはCollection Runnerへのアクセスを制限しました。無料アカウントでは、月に特定の数のリクエストを超えるコレクションを実行できなくなり、一部のRunner機能は完全に有料化されました。
その影響は、開発者のワークフローにすぐに現れました。Newman(PostmanのCLIランナー)に依存するCIパイプラインを持つチームは、制限に達し始めました。Collection Runnerでデプロイ前のスモークテストを実行していた開発者は、その機能がグレーアウトされたり、制限されたりしていることに気づきました。
PostmanがCollection Runnerで変更したこと
Postmanの無料プランでは、Collection Runnerが主に2つの方法で制限されています。
月間実行回数の制限。 無料アカウントでは、月に実行できるCollection Runnerの回数に上限が設けられています。Postmanは正確な数を明確に公表していませんが、コミュニティの報告によると、月あたり約25回とのことです。1日に複数回テストを実行する開発者にとっては、この制限は数日で到達してしまいます。
Newman CLIの制限。 以前は、ターミナルやCI環境でPostmanコレクションを実行できるオープンソースのCLIツールであるNewmanは、プラン制限に達することなく、あらゆるPostmanコレクションのエクスポートで機能していました。2026年以降、クラウド同期されたコレクションを使用する場合、一部のNewman機能はPostmanアカウントのプランティアに紐付けられるようになりました。
ノーコードテストの実行。 サイドバーからアクセスできるビジュアルCollection Runnerは、無料アカウントの場合、実行制限に達すると有料ウォール状態が表示されます。
制限されていないこと:個々のリクエストを手動で実行する(単一のリクエストで「送信」をクリックする)ことは無制限のままです。この制限は、特に自動化されたバッチ実行を対象としています。
実際に何が問題になるのか
コミット前およびデプロイ前のスモークテスト
多くのチームは、PRをマージしたり、ステージングにデプロイしたりする前にCollection Runnerを実行します。もしスモークテストコレクションに30個のリクエストがあり、3人の開発者がそれぞれ1日に2回実行すると、Postmanの無料月間制限は約2日で使い果たされてしまいます。
CI/CDパイプライン
NewmanベースのCIパイプラインが最も影響を受けています。次のようなGitHub Actionsワークフローは、
- name: Run API tests
run: newman run ./collections/api-tests.json -e ./environments/staging.json
アカウント制限に達すると、失敗したりレート制限エラーが発生したりするようになります。これは、プッシュごとに複数のパイプラインがトリガーされるチームにとって特に大きな打撃となります。
エンドツーエンドテストスイート
一部のチームは、Postmanで多段階のAPIワークフローを構築し、あるリクエストの出力(認証トークンなど)を次のリクエストに渡してリクエストを連結していました。Collection Runnerは、pm.environment.set()パターンを通じてこれを処理します。Runnerが制限されたことで、これらのワークフローは、一度に1つのリクエストを手動でステップ実行することによってのみテストできるようになりました。
負荷・パフォーマンステスト
PostmanのCollection Runnerには、「遅延」と「イテレーション」オプションがあり、コレクションを連続して複数回実行できるため、基本的な負荷テストに役立ちます。実行制限が導入されたことで、このユースケースは無料プランでは実質的に利用できなくなりました。
Postman内での当面の回避策
まだツールを切り替える準備ができていない場合でも、Postmanのエコシステム内にはいくつかの回避策が存在します。
Newmanにエクスポートしてローカルで実行する。 Newmanは、電話をかける機能を使用しない限り、Postmanアカウントのログインを必要とせずに、ローカルにエクスポートされたコレクションJSONファイルに対して実行されます。コレクションと環境をエクスポートし、完全にオフラインでNewmanを実行してください。
newman run collection.json -e environment.json
Newmanはローカルファイルを読み込むため、これによりPostmanアカウントの実行制限を回避できます。制限としては、ライブのPostmanワークスペースとの同期が失われるため、コレクションが変更されるたびに再エクスポートする必要があります。
大きなコレクションを小さなチャンクに分割する。 月間制限に近づいている場合、100個のリクエストを持つコレクションを25個のリクエストを持つ4つのコレクションに分割すると、それぞれが個別の実行カウンターを使用することになります。これは解決策ではなく回避策であり、多段階テストの論理的な流れを破壊します。
選択的にアップグレードする。 CIパイプラインを実行するチームメンバーが1人だけの場合、その1つのアカウントを有料プランにし、他のメンバーは無料のままにする方が、全員をアップグレードするよりも安価です。有料アカウントはNewmanを制限なく実行し、他のメンバーは手動テストを使用します。
ApidogのCollection Runnerがどのように異なるか
Apidogのランナーは「テストシナリオ」と呼ばれ、任意のコレクションの「実行」ボタンからアクセスでき、どのプランでも月間実行回数の制限はありません。これには無料プランも含まれます。
Postmanが制限しているものと比較すると、以下のようになります。
| 機能 | Postman無料版 | Apidog無料版 |
|---|---|---|
| ランナー実行回数/月 | ~25回(報告) | 無制限 |
| CI/CD実行(CLI) | 制限あり | 無制限 |
| 1実行あたりの反復回数 | 制限あり | 無制限 |
| 変数を使用したリクエストの連結 | 制限あり | 無制限 |
| テストアサーション | 利用可能 | 利用可能 |
| 実行概要レポート | 利用可能 | 利用可能 |
Apidog CLIランナー(apidog-cli)は、Newmanと同様の方法でCI/CDと統合されます。コマンド構造は似ています。
apidog run {project-id} --collection {collection-id} --environment {env-id}
Apidogからコレクションをエクスポートし、Newmanのローカルファイルアプローチと同様にオフラインで実行することもできますが、アカウントベースの制限について心配する必要はありません。
CIパイプラインでのApidogランナーの設定
NewmanベースのパイプラインをApidogに移行する場合、GitHub Actionsでの移行は以下のようになります。
移行前(Newman):
- name: Install Newman
run: npm install -g newman
- name: Run API tests
run: newman run ./collections/api-tests.json -e ./environments/staging.json --reporters cli,json --reporter-json-export results.json
移行後(Apidog CLI):
- name: Install Apidog CLI
run: npm install -g apidog-cli
- name: Run API tests
run: apidog run --project {project-id} --env {env-id} --output results.json
env:
APIDOG_ACCESS_TOKEN: ${{ secrets.APIDOG_ACCESS_TOKEN }}
主な違いは、認証メカニズム(ApidogはPostman APIキーではなくアクセストークンを使用します)と、ローカルファイルパスではなくプロジェクトベースの参照です。どちらもテスト結果レポートのためにJSON出力をサポートしています。
あるいは、Newmanの使い慣れたインターフェースを使い続けたい場合は、ApidogコレクションをPostman互換のJSONとしてエクスポートし、引き続きNewmanで実行できます。これにより、日常的にApidogを使用しながら、オフラインでアカウント不要のアプローチを実現できます。
Apidogの高度なランナー機能
Postmanの制限された機能セットに適合するだけでなく、Apidogのランナーには知っておくべきいくつかの機能が追加されています。
データ駆動型テスト。 CSVまたはJSONファイルをテスト実行にインポートして、異なるデータセットで同じコレクションを実行できます。各行は1つのイテレーションになります。これはPostmanのデータファイル機能に相当し、これもPostmanの上位プランでは有料化されています。
カスタムイテレーション数。 月間カウンターを気にすることなく、テスト実行の特定のイテレーション数を設定できます。必要であれば、基本的なストレステストのためにコレクションを500回実行できます。
スマートモック統合。 ランナーが実行中に、Apidogの組み込みモックサーバーと連携できます。これにより、別のサーバーを起動することなくモックされたエンドポイントに対してテストを実行でき、まだ構築されていないAPIに対してクライアントコードをテストする場合に便利です。
スケジュール実行。 外部のcronジョブやCIトリガーを必要とせず、Apidogで直接、スケジュール(毎時、毎日など)に基づいて自動テスト実行を設定できます。結果はプロジェクトのテスト履歴に表示されます。
PostmanのCollection Runnerの制限は、無料プランでCIパイプラインや自動テストワークフローを構築していたチームにとって、実用的な障害となります。最も直接的な解決策は、利用制限のないランナーに切り替えることです。Apidogのランナーは、Postmanの無料プランで制限されていたすべてのユースケースをカバーし、CLI統合はわずかな設定変更で既存のパイプライン設定で機能します。
