Thunder Clientは、VSCodeで利用可能な拡張機能として、APIテストのために多く利用されています。それでは、本文では、この拡張機能を実際に試した上、Thunder Clientの使い方をわかりやすく解説していきたいと思います。そして、Postmanの代替品になれるのかという点をも解説してきます。
Thunder Clientとは?
Thunder Clientは、Visual Studio Codeの拡張機能で、APIクライアントとしての機能を提供するツールです。主な機能として、APIテストの他、コレクション、テストスクリプト、CI/CDインテグレーション、Git連携、ローカルストレージなどが言及されています。VS Codeで大人気なGUIのAPIテストツールとして、多くのユーザーは、Thunder ClientをPostmanの代替品として使用しています。
Thunder Clientの主な機能
Thunder Clientは、非常に軽量化のツールの一方、APIテストの機能が完備しています。例えば、
- GUIベースで、APIのパラメータやヘッダー、ボディなどを設定し、リクエストを送信できる
- レスポンス結果の確認もGUI上で行える
- スクリプト不要でテスト機能があり、レスポンス結果を条件でチェックできる
- リクエストをコレクションとしてまとめられ、一括実行も可能
- 環境変数の機能があり、テスト用と本番用など複数パターンの変数セットを用意できる
- Postmanのコレクションファイルをインポートして利用することもできる
そこで、API開発中にAPIを直接にVSCodeから簡単かつ迅速にテストしてみたい方は、Thunder Clientは非常に適切なツールになるのでしょう。
Thunder Clientの使い方を解説
それでは、Thunder Clientを使って、VS CodeからAPIをテストするには、どうしたら良いですか?この部分では、Thunder Clientで利用可能な主な機能を皆さんに紹介していきたいと思います。
Thunder Clientのインストール
Thunder Clientは、Visual Studio Codeの拡張機能として、それを利用するには、まずはVS Codeでこの拡張機能をインストールする必要があります。具体的なインストール手順は下記:
- Visual Studio Codeを開き、左側のメニューから「拡張機能」をクリックします。
- 上部の検索ボックスで「Thunder Client」を入力して検索します。
- 検索結果から「Thunder Client」をクリックして、「インストール」ボタンをクリックします。
ここで、Thunder Clientという拡張機能は、パソコンにインストールすることができます。
Thunder ClientでAPIをテスト
Thunder Clientをインストールすると、VS Codeの左側メニューからThunder Clientのアイコンが表示されます。そのアイコンをクリックして、Thunder Clientを利用し始めることができるようになります。
ステップ⒈APIのテストを開始するには、画面上部の「New Request」ボタンをクリックする必要があります。
ステップ⒉ここでAPIの設定画面が表示されます。この画面では、HTTPメソッド、APIエンドポイント及び必須のパラメータなどを入力して、「Send」ボタンをクリックします。
送信した全てのリクエストは、左側の「Activity」タブに表示されます。
Thunder ClientでAPIレスポンスデータを検証
サーバーからレスポンスデータを取得すると、Thunder Clientのテスト機能を利用して、そのレスポンスのデータを検証することができます。
APIの実行画面で「Tests」タブをクリックして検証条件を追加できます。
例えば、次の画像のように、
- レスポンスコードが200、
- レスポンス時間が500m秒以下、
- データ形式がJSONになる
などの検証条件が設定されます。「Send」ボタンをクリックすると、レスポンス検証の結果は、一番右のパネルで表示されます。
Thunder Clientのコレクション実行
Postmanのように、Thunder Clientでもコレクションの実行に対応できます。「Activity」タブでこの前に送信したリクエストをコレクションに追加することもできますし、コレクションでリクエストを新規に追加することもできます。
Thunder Clientのコレクション実行機能は、複数のリクエストを一括に送信することができますが、より高度なテスト機能はサポートされていません。例えば、リクエストのグループ化、条件分岐などを設定してテストの自動化を実現することができません。
また、Postmanのように、コレクションの実行回数に制限を設けています。無料バージョンではPostmanと同じく1ヶ月間で30回のみを実行できます。
こちもお読みください:
Thunder ClientはPostmanを代替できる?
それでは、VS Codeの拡張機能のThunder ClientはPostmanを完全に代替できますか?結論から言うと、Postmanはより専門的なAPIテストツールで、より多くの高度機能を提供しているので、Thunder ClientはPostmanをしばらく代替できません。ただし、API開発中に、VS Codeから直接にAPIリクエストの送信のみが必要な場合は、Thunder Clientが便利です。
次は、Thunder Clientが不便である理由を皆さんに紹介します。
モックデータ
まずは、Thunder Clientはモックサーバーを立てることができなく、モックデータの生成に対応できません。このようにして、APIサーバーが整っていない場合、APIの開発ぷろせすをさらに進めることができません。それに対して、Postmanでは、モックサーバーを立てることができます。
しかし、Postmanでのモックサーバー機能にも一定の制限があります。PostmanでAPI定義書を参照して、モックサーバーを立ててそれが返してくるデータを手動で定義する必要があります。そして、自分がセットアップしたモックサーバーをAPIに関連付けすることができないので、モックサーバーにリクエストして自分が定義したデータが正確に返されても、APIが問題なく動作できることを保証できません。
そこで、Postmanより強力なAPIテストツールのApidogは、APIの定義書から直接にモックサーバーを利用できるので、別途モックサーバのセットアップが不要になります。Apidogのスマートモック機能は、一連のマッチングルールが内蔵されるので、フィールド名がこれらのルールにマッチングしたら、API定義書で定義されているデータ構造のデータ型に基づき、自動的に真実なデータを生成してくれます。
高度なテスト・テスト自動化
Thunder Clientでは、リクエストを同じコレクションに追加すると、複数のリクエストを一括に実行できますが、リクエストのグループ化、条件分岐の設定などの高度なテスト機能を利用できません。それに対して、Postmanでは、コレクション機能を利用することもできますし、Postmanのフロー機能を利用することで、テストステップに様々な条件を設定してカスタマイズすることができるので、APIテストの自動化も簡単に実現できます。
また、APIの高度テストやテスト自動化を便利に行うために、Apidogがより使いやすいツールと思います。Postmanではコレクションとフローの機能が別々に分かれているため、コレクションとフォローのデータ連携がほぼ不可能です。それに対して、Apidogのシナリオテストでは、GUIでテストステップを追加したり、ステップに様々な条件を課すことも直感的な操作によって実現されますので、非常に便利です。
コラボレーションが不便
チームでAPIを開発している場合、Thunder Clientは非常に不便です。Thunder Clientでは、アカウント体系がないので、他のメンバーと一緒に開発することもできませんし、APIのデータを他のチームメンバーに共有することも難しいです。その一方、Postmanでは、チームコラボレーション機能があるので、同じチームにおる場合、APIのデータに何か変更があっても、それはシームレスに他のメンバーに反映されます。
また、ApidogでPostmanのようなコラボレーション機能を備えています。プロジェクトの中で何か変更がある場合、それがシームレスに全てのメンバーに同期することができます。また、ApidogはGitのような「スプリントブランチ」という機能にも対応できます。メンバーは各自のブランチを作成して、データを導入して変更することができます。各自ブランチでの変更は、Mainブランチのデータに影響を出しません。変更が完了した後、その変更をMainブランチにマージすることで、API開発でのコラボレーションの効率性がさらに向上することができますね。
まとめ
この記事は、Visual Studio Codeの拡張機能であるThunder Clientの使い方と、Postmanの代替品としての利用可能性について解説しています。
Thunder Clientは、VS Code上でGUIベースでAPIテストができる拡張機能として、レスポンス結果の検証や複数リクエストの一括実行など、APIテストに必要な基本機能を備えています。しかし、Postmanほど高度な機能がなく、モックサーバーの立て方、テストの自動化、コラボレーション等で制限があります。したがって、単純なAPIリクエスト送信には便利だが、本格的なAPIテストツールとしてはPostmanの方が適しています。
また、本格的なAPIテストを行う場合やコラボレーションを重視する開発では、Postmanに替わってApidogが有力な選択肢となり得ます。ApidogはPostmanより使い勝手がよくて、より簡単にAPIの高度テストを行うことができます。