Postmanは、APIテストなどを行うための定番のツールになります。API戦略を実施する場合は、Postmanを利用することで、その効率性を大幅に向上できます。そこで、本文では、基本的なPostmanの使い方を皆さんに紹介して、Postmanを全く使ったことがないユーザーでも、本文の内容を参照して、Postmanを使いこなすことができると思います。
また、Postmanより使いやすくて、制限が少ないAPI管理ツールのApidogを皆さんにお勧めします。Apidogは日本語にも対応できますし、コレクション実行んの制限が全くないので、Postmanより効率よくAPIを管理することができます。
Postmanとは
Postmanは、API(Application Programming Interface)開発とテストのための人気のあるツールです。Postmanを使用すると、開発者はHTTPリクエストを作成し、APIエンドポイントに送信することができるので、APIの動作をテストしたり、リクエストとレスポンスのデータを確認したりできます。また、Postmanは、機能豊富なインターフェースを提供し、リクエストの作成や編集、ヘッダーの管理、パラメータの設定、レスポンスの確認などを行うことができます。
Postmanのダウンロードとインストール
Postmanを使って、APIをテストしたりする前提として、Postmanをダウンロードしてパソコンにインストールするか、PostmanのWebアプリを使用する必要があります。Postmanのデスクトップアプリは、Windows、macOS及びLinuxで動作できるので、詳細なPostmanインストールガイドは、次の記事をご参照ください:
Postman無料版と有料版の違い
Postmanのサブスクリプションを購入せずにFreeプランを利用している場合、使用中に多くの制限があります。Postmanの利用を始める前に、まずはPostmanの無料プランと有料プランの違いを知っておく必要があります。詳しくは次:
Postman基本的な使い方を完全解説
上記の手順を使用して、Postmanをパソコンにインストールするか、Webアプリを利用すると、次のガイドを参照して、Postmanを使いこなすことができると思います。
REST APIをテスト
多くのユーザーは、主にRESTful APIをテストするためにPostmanを利用しています。そこで、REST APIをテストするニーズも比較的に多くなります。Postmanは、REST APIエンドポイントの単体テストも、多くのAPIエンドポイントを一括にテストすることもできます。詳しくは:
APIのパフォーマンステスト
APIのパフォーマンステストは、APIがさまざまな負荷条件下でどのように動作するかを評価するためにテストプロセスです。最も有名なテスト用のツールであるPostmanはAPIパフォーマンステストをサポートしています。PostmanでAPIパフォーマンステストを実行する方法を手に入れるために、次の記事をご参照ください:
HTTPリクエスト送信
HTTPはAPIで一番汎用されているプロトコルになります。そこで、HTTPリクエストを送信してレスポンスを取得することは、APIテスト時に一番重要な操作になると思います。Postmanは、一番有名なAPI管理ツールとして、HTTP /HTTPSリクエストの送信にも完璧に対応できます。Postmanの直感的なUIで、HTTPやHTTPSリクエストを簡単に送信できます。
PostmanでPOSTリクエストを実装
POSTは、HTTPメソッドの一種として、主に指定のサーバーにリソースを追加するように使われています。POSTメソッドを使えば、サーバーでリソースを登録したり、更新したりするなど、書き込み操作がある処理を行うことができます。
Postmanを使って、POSTリクエストを送信できます。Postmanを使うことで、クライアント側からJSON、ファイル、XMLなどの形式で、データをサーバー側に渡したりすることができますので、非常に便利です。
PostmanでSOAP APIをテスト
大企業を中心にエンタープライズシステム間の連携などで、SOAP APIはよく活用されています。これらのユーザーに対して、PostmanはSOAP APIのテストにも対応できます。
PostmanでリクエストのメソッドをPOSTに指定した上、リクエストのHeadersでContent-Typeを「text/xml」に設定し、SOAPActionを利用中のHTTPメソッドに設定することで、SOAP APIのテストが行えます。
- Content-Type:
application/xml
という項目のチェックをはずします。 - Content-Typeフィールドを別途作成し、その値を「text/xml」に設定します。
- SOAPActionフィールドを追加して、その値「#POST」に設定します。
PostmanでWebSocket APIをテスト
WebSocket APIは、双方向のリアルタイム通信を実現するためのプロトコルとAPIの組み合わせです。通常のHTTPリクエストとは異なり、クライアントとサーバーが接続を確立した後、両者がデータを相互に送受信するためのパーマネントな接続を提供します。
Postmanは広く使われているAPIテスト用ツールとして、WebSocketにも互換しています。Postmanを使うことで、WebSocketのリクエストを作成したり、送信したりすることができます。
Postmanでモックサーバーを作成
モックサーバーとは、実際のサーバーを模した仮想のサーバー環境のことです。モックサーバーを利用すると、実際のAPIサーバーが完成していない場合でも、APIのテストが行えます。そこで、APIのテスト中に、業務の都合によってモックサーバーを作成する必要がある場合がよくあります。
Postmanは非常に汎用されているAPIテスト用ツールとして、内蔵のモックサーバーがあります。Postmanのモックサーバーは実際のサーバーの動作をシミュレートすることができるので、テストのプロセスをかなり効率化にすることができます。
Postman環境変数の利用ガイド
Postmanの環境変数(Environment Variables)は、Postmanの環境(Environment)に関連付けられた変数のことを指します。これらの変数は、APIの開発やテストの際に使用される設定値やデータを表現します。Postmanの環境変数を使用することで、リクエストURL、ヘッダー、ボディのデータなど、さまざまな箇所で動的な値を設定できます。
これにより、APIエンドポイントやパラメータ、認証情報などを簡単に切り替えたり、再利用したりすることができます。
Postman環境の活用ガイド
Postmanの環境(Environment)は、リクエストで使用できるPostmanの変数のセットです。Postmanで環境を使用して関連の設定値や変数をグループ化し、それらをまとめて管理するための機能です。開発の段階などにより、異なる環境をセットアップすることができます。
Postman環境では、環境変数、グローバル変数及びローカル変数を利用することができるので、APIのテスト効率を大幅に向上することができます。
PostmanでOAuth 2.0認証を実装
OAuth 2.0は、ユーザーがWebサイトやアプリケーションにおいて安全にリソースへのアクセスを許可するためのオープンスタンダードのプロトコルです。ユーザーは自分のアクセス権を管理し、必要な場合にいつでもアクセスを取り消すことができます。また、サードパーティアプリケーションはユーザーのパスワードを保存する必要がなく、アクセストークンを使用することで安全なアクセスを実現します。
Postmanでauthorizationタブで様々な情報を設定することで、簡単にOAuth 2.0を実装することができます。
PostmanでcURLをインポート
CURLとは、コマンドラインからHTTP通信を行うためのオープンソースのライブラリやツールのことです。Postmanの他に、APIリクエストを送信する際に、CURLを使用するケースも非常に多いのです。これにより、CURLとPostmanを併用して、リクエストを送信してAPIをテストしたりする必要がある場合が多くなります。
そこで、Postmanは、cURLからデータを簡単にインポートする機能を提供しています。
Postmanコレクションのエクスポート
Postmanのコレクション(Collection)は、PostmanというAPI開発ツールで使用される、関連するAPIリクエストのグループ化と管理を目的としたファイル形式です。コレクションは、APIエンドポイントへのリクエスト、リクエストパラメータ、ヘッダー、ボディデータ、認証情報などのAPIテストに必要な情報を含むことができます。複数のAPIリクエストを組織化し、一括実行やテストシナリオの作成、ドキュメンテーションなどの目的で使用されます。
Postmanのコレクション情報を共有したり、他のアプリに切り替えたりするなどの場合、Postmanコレクションのエクスポート・インポートする必要があります。
Newmanの使い方
Newmanとは、PostmanはAPIのテストやドキュメント作成などに用いられるツールですが、GUIベースのアプリケーションです。NewmanはNode.jsで開発されていて、Postmanで作成したコレクションや環境を入力として実行できます。レポート機能もあり、テスト結果をJSONやHTML形式で出力できます。
PostmanとNewmanを組み合わせることで、GUIの利便性とスクリプティングの柔軟性を両立できるため、APIテスト自動化に理想的なツールといえます。
対策:Postman使用上の問題を解消
APIを開発したり、テストしたりする必要がある場合、Postmanはもちろん非常に便利なツールになりますが、一定の制限があるとも見られています。次は、多くのユーザーが不満を抱いているPostmnaの使用上の問題を皆さんに紹介した上、その対策についても紹介していきたいと思います。
PostmanはHTTP/2に非対応
2017年以来、いろんなユーザーは、PostmanがHTTP2というプロトコルをサポートすることを期待しています。しかし、6年も経ていた今、PostmanはまだHTTP2をサポートしていません。
Postmanの現状として、HTTP2をサポートしていないので、HTTP2を採用しているAPIをテストすると、レスポンスで「Could not get response(レスポンスを取得できない)」というエラーが表示され、テストに失敗しています。
そこで、HTTP/2プロトコルを使用するAPIをテストするために、Postmanは役に立ちませんので、ApidogなどのHTTP/2にも対応可能なAPI管理ツールを使用する必要があります。
Postmanのコレクションランナーに制限がある問題
Postmanは、2023年2月15日から無料顧客に対して、次のような制限を課すことにしました。既存の有料プランのお客様は、2023年3月15日以降のプラン更新時に同じ制限が有効になります(エンタープライズユーザーを除く)。
Postmanのコレクションランナーの制限:FreeとBasicプランを利用しているユーザーは、1ヶ月間でコレクションを最大25回実行できます。Professionalプランのユーザーは、1ヶ月で間最大250回実行できます。Postmanで上限に達したら、「 You have exhausted all the runs. To keep running collections, create an account..(実行回数を使い切りました。コレクションの実行を続けるには、アカウントを作成してください。)」といったエラーが発生します。
もしコレクションランナーの数的な制限に達していて、それ以上コレクションを実行したい場合、Apidogという制限がないAPIテストツールに切り替える必要があります。Postmanとは異なり、Apidogはコレクションの作成と実行に制限を設けていないので、開発者は、思い通りにコレクションを作成したり、実行したりすることが許可されます。
まとめ
この記事では、APIテストツールのPostmanの基本的な使い方について解説しています。
まず、Postmanの概要とインストール方法について説明しています。次に、Postmanの具体的な使用方法として、REST APIのテスト、HTTPリクエストの送信、POSTリクエストの実装、SOAP APIのテスト、WebSocket APIのテストなどを紹介しています。さらに、Postmanの便利な機能として、モックサーバーの作成、環境変数の利用、コレクションのエクスポートなどについて解説しています。
最後に、Postmanの課題としてHTTP/2への非対応、コレクションランナーの制限などをあげ、これらの問題を解決するためにApidogなどの別のツールを利用することができます。