Apidog

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

API設計

API仕様書生成

APIデバッグ

API Mock

APIテスト自動化

無料登録
Home / ポストマンCLI: APIワークフローのための高度な自動化

ポストマンCLI: APIワークフローのための高度な自動化

私たちは毎日APIを構築しており、自動化、テスト、およびオーケストレーションの必要性は非常に重要です。 Postmanは、その使いやすいインターフェースでよく知られているツールであり、より深い自動化とCI/CDワークフローをサポートするためにコマンドラインインターフェース(CLI)を導入しました。

Postman CLIは、テストをトリガーするためのツールだけではなく、APIの相互作用をスクリプト化したり、既存のパイプラインと統合したり、複数の環境にわたるAPIの整合性を保証したりすることを可能にする広範なユーティリティです。この記事では、Postman CLIの高度な機能に深く掘り下げ、API開発とテストの実践を向上させる方法を示します。

Postman CLIの進化

技術的な詳細に入る前に、PostmanがCLIを導入した理由を理解することが重要です。 Postmanのグラフィカルインターフェースは対話的な使用に最適であり、APIを探索、テスト、およびデバッグするのに理想的です。

しかし、現代のDevOps環境では、自動化が重要です。継続的インテグレーション/継続的デプロイ(CI/CD)パイプラインは、APIの自動テストと検証を必要とし、PostmanのCLIがそこで役立ちます。CLIは、手動APIテストと完全に自動化された統合APIワークフローとのギャップを埋めます。このユーティリティは、チームがターミナルからコレクション、テスト、および統合を直接実行できるようにし、自動化された環境における効率的で繰り返し可能なプロセスの可能性を解き放ちます。

Postman CLIのインストールと設定方法

Postman CLIはスタンドアロンのツールではなく、通常はワークスペース、コレクション、および環境にアクセスするためのPostman APIキーで認証された設定された環境が必要です。これは、CI/CDプラットフォームと統合する際に、環境内でスクリプトを安全かつシームレスに実行するために重要です。

設定するためにCLIをインストールする必要があります。 Postmanのドキュメントには、役立つドキュメントガイドがあります。

Windowsのインストール

Windows用のPostman CLIをインストールするには、次のコマンドを実行します。これにより、インストールスクリプトがダウンロードされて実行されます。インストールスクリプトは、存在しない場合に%USERPROFILE%\AppData\Local\Microsoft\WindowsAppsディレクトリを作成し、その中にPostmanのバイナリをインストールします。

powershell.exe -NoProfile -InputFormat None -ExecutionPolicy AllSigned -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://dl-cli.pstmn.io/install/win64.ps1'))"

マック(Appleシリコン)のインストール

Appleシリコンプロセッサを搭載したMac用のPostman CLIをインストールするには、次のコマンドを実行します。これにより、インストールスクリプトがダウンロードされ、実行されます。インストールスクリプトは、存在しない場合に/usr/local/binディレクトリを作成し、その中にPostmanのバイナリをインストールします。

curl -o- "https://dl-cli.pstmn.io/install/osx_arm64.sh" | sh

マック(Intel)のインストール

Intelチップを搭載したMac用のPostman CLIをインストールするには、次のコマンドを実行します。これにより、インストールスクリプトがダウンロードされ、実行されます。インストールスクリプトは、存在しない場合に/usr/local/binディレクトリを作成し、その中にPostmanのバイナリをインストールします。

curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh

Linuxのインストール

最新のLinuxバージョン用のPostman CLIをインストールするには、次のコマンドを実行します。これにより、インストールスクリプトがダウンロードされ、実行されます。インストールスクリプトは、存在しない場合に/usr/local/binディレクトリを作成し、その中にPostmanのバイナリをインストールします。

curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh

インストールが完了したら、あなたのPostman APIキーを使用して認証します。これは、Postmanのバックエンドによって安全に管理されています:

postman login --with-api-key ABCD-1234-1234-1234-1234-1234

このAPIキー管理により、CLIの実行はPostmanのWebまたはデスクトップインターフェースのセッションと同じレベルのアクセスとセキュリティを確保します。

コレクションと環境の実行

Postman CLIは、Postmanテストの中心であるコレクションの実行を可能にします。 Postmanのコレクションは、テストする必要があるAPI呼び出しのワークフローやシーケンスを表します。これらは通常、基本URLや認証トークン、またはデプロイメントステージ(例:開発、ステージング、本番など)にわたって変わる他の設定詳細を保存する環境に関連付けられています。

より高度な機能の1つは、特定の環境でコレクションを実行する能力です。これにより、コレクション自体を変更することなく、複数の環境で複雑なAPIフローをテストできます:

postman run <collection.json> --environment <environment.json>

このシンプルでありながら強力なコマンドは、異なる構成で複数のテストスイートを実行できることを許可し、CLIはCI/CDパイプラインでのAPIテストをオーケストレーションするために非常に貴重なツールです。

高度な設定:グローバルおよび環境変数

Postman CLIの変数の処理は、別の高度な機能です。動的環境の導入により、グローバル、環境、およびローカル変数をその場でオーバーライドおよび管理できます。この機能は、テストの異なる段階で複数のAPIパラメータが動的に変更される必要がある高度なワークフローにとって不可欠です。

例えば、APIが動的な認証トークンを必要とするシナリオを考えてみてください。トークンをハードコーディングするのではなく、Postman CLIを使用してこれらを動的に注入することができます:

postman run <collection.json> --env-var token=<new_token>               ‌

より複雑なシナリオでは、これらの値を外部ファイルからロードしたり、Postmanのコレクションの事前リクエストスクリプトを介して管理したり、CIプラットフォームからランタイム中に環境変数として渡したりすることが必要な場合があります。この柔軟性により、Postman CLIは高度なAPI認証フローを処理するための非常に強力なツールとなります。

テスト実行とカスタムレポート

Postman CLIは、JavaScriptで書かれた自動テストを埋め込んだPostmanコレクションの実行をサポートします。これらのテストは、APIレスポンスの整合性をチェックしたり、スキーマを検証したり、事前に定義された閾値に対してレスポンスタイムを比較したりできます。

コレクションを実行する際、CLIは詳細なロギングとレポートを提供します。デフォルトでは、出力は、どのテストが合格または失敗したかを示す構造化された形式で表示されます。しかし、Postman CLIは基本的なロギングを超えて進みます。高度なユーザーは、JSON、HTML、JUnit XMLなどの複数の形式でカスタムレポートを生成でき、これはJenkinsやGitLabなどのCIプラットフォームとの統合にとって重要です:

postman run <collection.json> --reporters cli,json --reporter-json-export output.json

このコマンドは、コレクションを実行するだけでなく、CLIおよびJSON形式の両方で結果を出力し、さらなる操作やダッシュボードツールとの統合を可能にします。

深堀り:NewmanとPostman CLIの比較

Postman CLIの導入前は、NewmanがコマンドラインからPostmanコレクションを実行するためのツールとして使用されていました。Newmanは特定のレガシーワークフローにおいて依然として関連性がありますが、Postman CLIは幾つかの改良をもたらします。これにより、Postmanのクラウドプラットフォームと直接統合され、よりシームレスな認証と環境管理を提供します。

例えば、Postman CLIは、ダウンロードしてローカルでこまめに管理する必要なく、Postmanのクラウドから共有ワークスペースに直接アクセスできます。また、Postmanのワークスペース設定を介して先天的に高度な認証メカニズム(OAuth2、ベアラートークンなど)をサポートし、クラウド統合ワークフローに対してより堅牢なソリューションとなります。

以下は、NewmanとPostman CLIを使用したシンプルなコレクションの実行の比較です:

Newman

newman run <collection.json> --environment <environment.json>

Postman CLI

postman run <collection>

ここでの主な違いは、Postman CLIのコレクションと環境をクラウド内のPostmanワークスペースから直接参照できる能力であり、高いセキュリティまたは急速に変化する設定を持つ環境にとってはるかに柔軟です。

Postman CLIをCI/CDパイプラインに統合

Postman CLIを使用する主な理由の1つは、CI/CDパイプラインとの統合です。パイプライン内では、自動APIテストが開発サイクルの早い段階での問題を検出するために重要になります。Jenkins、CircleCI、GitLab CI、およびGitHub Actionsなどのツールは、すべてPostman CLIコマンドを呼び出して、パイプラインのさまざまな段階でAPIテストを実行できます。

以下は、Postman CLIをJenkinsパイプラインに統合する例です:

pipeline {
    agent any
    stages {
        stage('Run Postman Tests') {
            steps {
                script {
                    sh 'postman run <collection> --reporters cli,junit --reporter-junit-export results.xml'
                }
            }
        }
    }
    post {
        always {
            junit 'results.xml'
        }
    }
}

このJenkinsfileは、Postmanコレクションを実行し、テスト結果をJenkinsのJUnitプラグインに互換性のある形式でキャプチャして、テスト結果に基づいてレポートを生成します。

Postman CLIは、パイプライン内でのテスト実行に対してもより詳細な制御を提供します。例えば、特定のテストスイートの反復を定義したり、タイムアウトを制御したり、テストが失敗した場合のリトライメカニズムを構成したりすることができ、非常にカスタマイズ可能なテスト環境を提供します。

失敗の処理とデバッグ

APIテストは、レスポンス形式の不一致から環境の誤設定まで、さまざまな理由で失敗する可能性があります。 Postman CLIは、これらの問題をデバッグするために重要な詳細なロギングをサポートしています。 --verboseフラグを使用することで、開発者はリクエストおよびレスポンスのボディ、ヘッダー、および実行時間を含む詳細な情報にアクセスできます。

postman run  --verbose

CI/CDワークフローに統合すると、この粒度は非常に貴重です。詳細な出力は、開発者が問題がAPI自体、テスト設定、または環境設定にあるかを分析するためにパイプライン化できます。

Apidog CLIの探求:自動テストのための優れたコマンドライン体験

Apidogの画像

Postman CLIはAPIワークフローの自動化に人気がありますが、Apidog CLI は、自動テストに対する堅牢で柔軟なアプローチを提供する魅力的な代替手段であり、特にコマンドラインからのAPIシナリオ実行を効率化するために構築されています。競合となるPostmanは、開発者がCI/CD環境で複雑なワークフローをテストするための迅速で自動化されたソリューションを必要とする際に、シームレスでコマンド駆動のAPIテスト体験を提供します。

なぜApidog CLIなのか?

ApidogのCLIは、APIテストを自動化するために必要なすべての機能を備えており、特に使いやすさ、高度な構成オプション、強力な統合機能に重点を置いています。CLIは、ターミナルからApidogテストシナリオを実行するように設計されており、APIテストを開発とデプロイのワークフローに直接組み込みたいチームにとって優れた選択肢となります。CLIは、Apidogの強力なクラウド機能とシームレスに統合されており、パイプラインのさまざまなステージでAPIの整合性に関する迅速なフィードバックを提供します。

Apidog CLIの設定

Apidog CLIを使用し始めるには、環境にNode.jsバージョン16以上が装備されていることを確認してください。 Apidog CLIはnpmを介して簡単にインストールでき、わずか数コマンドで開始できます:

npm install -g apidog-cli

インストールが完了したら、設定を確認するのは簡単です。次のコマンドは、Node.jsのバージョン、CLIのバージョン、およびNode、npm、Apidogのインストールパスを確認します:

node -v && apidog -v && which node && which npm && which apidog

これにより、システムがApidog CLIを使用するために正しく設定されていることが確認でき、設定の問題のトラブルシューティングに役立ちます。

Apidog CLIでのテストシナリオの実行

Apidog CLIは、テストシナリオを効率的に実行できるように設計されており、認証およびテストの実行方法に柔軟性を提供します。一意のIDによってテストシナリオを指定するか、テストシナリオのコレクションを含むフォルダーを参照することができます。この機能により、複数の環境および構成にわたる大規模APIテストの実行が簡素化されます。

以下は、Apidogアクセストークンを使用してテストシナリオを実行する例です:

apidog run --access-token <your-access-token> -t <test-scenario-id>

このコマンドは、IDに基づいてテストシナリオを実行し、アクセストークンを介して認証情報を安全に渡します。特定のフォルダ内のすべてのテストシナリオを実行する必要がある場合は、フォルダIDを使用するだけです:

apidog run --access-token <your-access-token> -f <test-scenario-folder-id>

詳細なカスタマイズのための高度なCLIオプション

Apidog CLIの強みの1つは、その高度なコマンドラインオプションです。テストレポート、環境変数、SSL証明書を構成したり、リクエスト間に遅延やタイムアウトを導入したりすることができます。Apidogは、単一のテストシナリオを実行するか、異なる環境間で一連のテストを反復実行するかにかかわらず、テストプロセスへの細かい制御を可能にします。

以下は、JSONおよびJUnit形式のカスタムレポートを生成し、特定のディレクトリに保存する例です:

apidog run <collection> --reporters json,junit --out-dir ./test-reports

Apidog CLIを使用すると、環境変数を動的に定義できるため、テストシナリオがコンテキストに敏感で、API構成の変更に適応できるようになります。

apidog run <collection> --env-var "BASE_URL=https://staging.api.com" --env-var "TOKEN=abc123"

このような柔軟性により、Apidogは既存のテストインフラストラクチャにシームレスにフィットします。

SSL証明書とセキュリティテスト

今日の世界では、APIをテストする際のSSL検証は重要です。 Apidog CLIは、クライアント証明書の渡しをサポートしており、テスト中にAPIに対して安全な接続を確保します。特定のドメインに基づいて単一の証明書または複数の証明書を使用する場合でも、Apidogはこのプロセスを簡素化します。テスト用に単一のクライアント証明書を指定できます:

apidog run <collection> --ssl-client-cert ./path/to/cert.pem --ssl-client-key ./path/to/key.pem

また、より複雑なセットアップの場合、特定のURLに一致するクライアント証明書のリストを含むJSONファイルを使用できます:

apidog run <collection> --ssl-client-cert-list ./path/to/ssl-cert-list.json

なぜApidogに切り替えるのか?

Apidog CLIは、より速いパフォーマンス、より簡単な統合、およびより多くの制御を求めるチームにとって優れた体験を提供します。これは、強力なコマンドラインツールの柔軟性を保ちながら、Apidogの機能豊富なプラットフォームと統合し、Postman CLIの強力な代替となります。

Postmanにすでに精通している場合、Apidog CLIへの移行は直感的に感じられますが、Apidogが提供する追加の柔軟性とパワーにすぐに気づくことでしょう。豊富な機能セットと広範なレポート、動的環境管理の組み合わせにより、Apidogは効率的でスケーラブルなAPIテストソリューションを求める開発者にとって強力な候補となります。

ボタン

結論

結論として、Postmanは長年にわたりAPIテストの分野で定番でしたが、ApidogのCLIは、現代の自動化されたワークフローに合わせた堅牢な代替手段を提供します。高度なコマンドオプション、シームレスな環境管理、柔軟な報告機能を備えたApidog CLIは、チームがさまざまな開発およびデプロイメントの段階でAPIを効率的にテストおよび検証できるようにします。CI/CDパイプラインに簡単に統合できる強力で柔軟なツールを探している場合、Apidog CLIは試す価値があります。APIテストに対する合理化されたアプローチを提供し、APIの信頼性、安全性、パフォーマンスを確保します。

Apidogのニュースレターを購読する

今すぐ購読すると、いつでもApidogから更新情報と最新観点を手に入れることができます。

有効なメールアドレスを入力してください。
ネットワークエラー、後で再試行してください
購読していただきありがとうございます!