Postman CLIでのAPIテスト自動化:拡張機能と新たな選択肢

現代の急速な開発環境では、APIのテストとオーケストレーションの自動化が不可欠です。直感的なインターフェースで知られるPostmanは、コマンドラインインターフェース(CLI)を導入し、自動化とCI/CDワークフローを強化しました。本記事では、Postman CLIの強力な機能を探り、CLIベースのAPI自動化テストにおけるEchoAPIという優れたツールを紹介します。

API.png

Postman CLIの進化

PostmanのGUIは、インタラクティブなAPIテストに優れていますが、現代のDevOpsでは自動化が求められます。継続的インテグレーション/デプロイメント(CI/CD)パイプラインでは、自動化されたAPIテストが開発の速度と信頼性を維持するのに役立ちます。このニーズから生まれたのが、PostmanのCLIです。CLIは手動と自動のAPIワークフローのギャップを埋め、ターミナルからコレクション、テスト、統合を実行できるようにし、自動化された環境での効率的で再現可能なプロセスを促進します。

postman.png

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
image.png

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

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: A Superior CLI Testing Tool.jpg

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開発とテストプロセスを強化し、開発のあらゆる段階での堅牢で信頼性のある統合を確保できます。