Blogs

API テストを自動化:Postman と GitHub アクションを統合してシームレスな CI/CD を実現

September 4, 2024

はじめに

Postman は、API を効率的に作成、送信、テスト、文書化できる堅牢な API 開発環境です。GitHub Actions は、コードのテストとデプロイを自動化するように設計された CI/CD プラットフォームです。Postman を GitHub Actions と統合することで、開発ワークフローの一部として API テストをシームレスに自動化できます。

前提条件:

  • A GitHub アカウントとリポジトリ。
  • API テストを含む Postman コレクションです。
  • テストに必要な変数 (API キー、ベース URL など) を含む Postman 環境。

手順:

  1. ポストマンコレクションの作成:
    • Postman で、新しいコレクションを作成し、API テストケースを追加します。
    • Postman 環境で必要な環境変数を設定します。
  2. ポストマン API キーを生成:
    • 設定ページに移動し、次に API キーに移動して、新しい API キーを生成します。
    • この API キーを GitHub リポジトリシークレットに保存する
  1. GitHub アクションワークフローの作成:
    • GitHub リポジトリで、という名前の新しいファイルを作成します。 .github/workflows/postman-tests.yml
    • 次のコードをファイルに貼り付け、プレースホルダーを特定の値に置き換えます。
  name: Automated Testing using Postman CLI

  on:
    push:
      branches: [main]

  jobs:
    automated-api-tests:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v4
        - name: Install Postman CLI
          run: |
            curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh
        - name: Login to Postman CLI
          run: postman login --with-api-key ${{ secrets.POSTMAN_API_KEY }}
        - name: Run API tests
          run: |
            postman collection run "[collection_id]" -e "[environment_id]"
  1. コミットしてプッシュ:
    • コミットしてプッシュ .github/workflows/postman-tests.yml ファイルを GitHub リポジトリに保存します。

説明:

  • ワークフローは、にイベントをプッシュすることでトリガーされます メイン ブランチ。
  • Linux用のポストマンCLIをインストールします
  • 使用するのは 郵便配達員ログイン ポストマン CLI で認証するためのコマンド
  • によって指定された Postman コレクションが実行されます。 [コレクション ID] プレースホルダー (実際のコレクション ID に置き換えてください)。また、で定義された環境も使用します。 [環境 ID] 変数用のプレースホルダー (実際の環境 ID に置き換えてください)。

その他の考慮事項:

  • ワークフローをカスタマイズして、さまざまなブランチでテストを実行したり、プルリクエストをトリガーしたり、さまざまなランナーを使用したりできます。
  • 環境変数を使用して機密情報 (API キーなど) を安全に保存することを検討してください。
  • キャッシュ、アーティファクト、シークレットなど、GitHub Actionsの他の機能を調べて、ワークフローを強化してください。

これらの手順に従うことで、PostmanとGitHub Actionsを使用してAPIのテストを効果的に自動化し、コードの変更がデプロイ前に徹底的にテストされていることを確認できます。