Postman CLIでのAPIテスト自動化:拡張機能と新たな選択肢
現代の急速な開発環境では、APIのテストとオーケストレーションの自動化が不可欠です。直感的なインターフェースで知られるPostmanは、コマンドラインインターフェース(CLI)を導入し、自動化とCI/CDワークフローを強化しました。本記事では、Postman CLIの強力な機能を探り、CLIベースのAPI自動化テストにおけるEchoAPIという優れたツールを紹介します。
Postman CLIの進化
PostmanのGUIは、インタラクティブなAPIテストに優れていますが、現代のDevOpsでは自動化が求められます。継続的インテグレーション/デプロイメント(CI/CD)パイプラインでは、自動化されたAPIテストが開発の速度と信頼性を維持するのに役立ちます。このニーズから生まれたのが、PostmanのCLIです。CLIは手動と自動のAPIワークフローのギャップを埋め、ターミナルからコレクション、テスト、統合を実行できるようにし、自動化された環境での効率的で再現可能なプロセスを促進します。
Postman CLIのインストールとセットアップ
Postman CLIを活用するには、適切に設定された環境でPostman APIキーを使用してワークスペース、コレクション、および環境に安全にアクセスする必要があります。以下にインストール手順を示します:
Windowsインストール:
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'))"
Mac(Apple Silicon)インストール:
curl -o- "https://dl-cli.pstmn.io/install/osx_arm64.sh" | sh
Mac(Intel)インストール:
curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh
Linuxインストール:
curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh
インストール後、Postman APIキーを使用して認証します:
postman login --with-api-key ABCD-1234-1234-1234-1234-1234
コレクションと環境の実行
Postman CLIは、特定の環境でコレクションを実行する機能を提供し、コレクション自体を修正することなくテストを実行できます:
postman run <collection.json> --environment <environment.json>
この柔軟性により、複数の設定にわたる包括的なテストが可能になります。
高度な設定:グローバルおよび環境変数
Postman CLIは、変数の動的なオーバーライドと管理を可能にし、テスト中にパラメータを変更する必要があるワークフローに対応します:
postman run <collection.json> --env-var token=<new_token>
このレベルのコントロールは、動的なテスト環境で複雑なAPIフローをサポートします。
テスト実行とカスタムレポート
Postman CLIは、コレクション内での自動テスト実行をサポートし、複数のフォーマットでログとレポートの生成を提供します:
postman run <collection.json> --reporters cli,json --reporter-json-export output.json
このコマンドは、JenkinsやGitLabのようなCIツールとの統合を容易にし、プロジェクトのテストワークフローを改善します。
CI/CDパイプラインへのPostman CLIの統合
Postman CLIをCI/CDパイプラインと統合することで、APIテストの自動化が実現可能です。以下は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'
}
}
}
この統合により、テスト結果のキャプチャと報告が可能となり、継続的なデプロイメントの成功に寄与します。
エラー処理とデバッグ
Postman CLIは、テストの失敗を診断するために重要な--verbose
フラグを使用して詳細なログを提供します:
postman run <collection> --verbose
この情報の詳細さは、CI/CDワークフローでのデバッグに役立ちます。
EchoAPIの紹介:優れたCLIテストツール
Postman CLIが強力な機能を提供する一方で、EchoAPIはCLIベースのAPIテストにおいて改良された体験を提供します。EchoAPIは複雑なワークフローを簡素化し、強化されたレポート機能を提供し、現代のAPI開発とテストプラクティスにとって優れた選択肢です。
EchoAPIによるCI/CDコマンドの作成
EchoAPIのCLIは、インターフェイスケースとテストケースの実行を簡素化および強化し、CI/CDサーバーやビルドシステムに簡単に統合できます。
インストール
EchoAPI CLIをインストールするには、以下のコマンドを使用します:
npm install -g echoapi-cli
古いバージョンのechoapi-cliをインストールしている場合は、まずアンインストールしてください:
npm list -g --depth=0 # インストールされているnpmパッケージを一覧表示
npm uninstall -g echoapi-cli # アンインストールコマンド
テストの実行
以下のコマンドを使用して、EchoAPI CLIでテストスイートを実行します:
echoapi run "https://app.echoapi.com/open/ci/automated_testing?ci_id=MTkzMDI0MTEwMDU2ODQ5NDA4OjEyOTMzMDc1MDgzNjc3NzEwOjEzMDcyNjE0MDg3OTQ2Mjcy&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxODE0NCwiaXNzIjoiYXBpcG9zdCIsImV4cCI6MTcxNzY5MDAxNX0.wNNw0MbsbobhDcAZmiXJQu6lmhWaES6E2y8YFyKkzm8" -n 5 -r cli,json
このコマンドはテストスイートを実行し、CLIおよびJSONフォーマットでレポートを生成します。
主要オプション
-r, --reporters
: テストレポートの種類を指定します(cli, html, json)。デフォルトは「cli」です。-n, --iteration-count
: 繰り返し回数。デフォルトは1です。--delay-request
: リクエスト間の遅延インターバル。デフォルトは0です。-k, --insecure
: SSL検証を無効にします。デフォルトは1です。--web-hook
: JSONレポートデータをタスク完了後に送信するWebフックURL。
クライアント証明書設定ファイルの例(JSON)
{
"https://www.example.com:443": {
"pfx": {"file_url": ""},
"crt": {"file_url": ""},
"key": {"file_url": ""},
"password": ""
},
"https://*.echoapi.com:443": {
"key": {"file_url": ""},
"pfx": {"file_url": ""},
"crt": {"file_url": ""},
"password": ""
}
}
EchoAPI CLIのアップグレード
最新バージョンのEchoAPI CLIツールにアップグレードするには、以下を使用します:
npm install echoapi-cli@latest -g
結論
APIテストの自動化は、現代の開発環境において不可欠です。Postman CLIは、APIテストをCI/CDワークフローに統合するための強力なツール群を提供します。しかしながら、EchoAPIは、使いやすさとレポート機能の向上により、これらの機能を拡張します。これらのツールを活用することで、チームはAPI開発とテストプロセスを強化し、開発のあらゆる段階での堅牢で信頼性のある統合を確保できます。