Postmanの入門から精通へ:Newmanを使った自動化テストの完全ガイド

この記事では、Newmanがコマンドライン実行を通じてPostmanスクリプトにどのように命を吹き込むか、その主要なコマンドとパラメータを詳しく説明し、APIテストを効率良く行う方法を解説します。

ソフトウェア開発の世界では、効率的なテストツールが重要です。ユーザーフレンドリーなグラフィカルインターフェイスを持つポストマンがAPIテストのための定番ツールとして広まる中、そのコマンドライン版であるNewmanは、さらに柔軟な自動化を提供します。この記事では、Newmanがコマンドライン実行を通じてPostmanスクリプトにどのように命を吹き込むか、その主要なコマンドとパラメータを詳しく説明し、APIテストを効率良く行う方法を解説します。

Postman.png

NewmanのAPIテストにおける役割の理解

Newmanは、基本的にはポストマンのコマンドラインコレクションランナーです。これにより、コマンドラインから直接コレクションを実行してテストすることができ、継続的インテグレーション(CI)や継続的デリバリー(CD)のパイプラインには欠かせないツールとなっています。Newmanを使用すれば、テスターや開発者はポストマンのGUIを使わずにWeb APIのテストを自動化でき、これらのテストをビルドシステムやバージョン管理リポジトリに統合することが可能です。

Newman.png

主要なコマンドとパラメーター

コレクションを実行するコマンド

Newmanを使ってポストマンのコレクションを実行するには、次の基本コマンドを使用します:

newman run [collection.json]

このコマンドは指定されたコレクションの実行を開始します。

よく使われるパラメーター

Newmanでは、以下のオプションを使ってコレクションの実行をさらに細かく設定できます:

  • -e, --environment <path>:ポストマンの環境ファイルへのファイルパスを指定します。これにより、Newmanは指定されたファイルから環境変数を使用できます。
  • -g, --globals <path>:ポストマンのグローバル変数ファイルへのパスを示します、Newmanがグローバル変数にアクセスできるようにするためです。
  • -d, --iteration-data <path>:コレクションの実行に使用されるデータファイルを指し示します。データ駆動テストに便利です。
  • -n, --iteration-count <number>:コレクションが実行される回数を指定できます。
  • -r, --reporters [names]:テストレポートの出力形式を指定します(cli, html, json, junitなど)。例えば、--reporter-html-exportは出力をHTMLファイルに指示できます。

実践的な実装ガイド

ステップ1: ポストマンデータのエクスポート

1. コレクションのエクスポート:ポストマンでコレクションを右クリックし、「エクスポート」を選んでtestcase.jsonとして保存します。

Export Collection.jpg

2. 環境のエクスポート:ポストマンで使用する環境をenvironment.jsonとしてエクスポートします。

Export Environment.jpg

3. グローバル変数のエクスポート:同様に、グローバル変数をglobals.jsonとしてエクスポートします。

Export Global Variables.jpg

4. データファイルの準備:テストに外部データを使用する場合、これをdata.jsonとしてエクスポートします。

ステップ2: Newmanでのコレクション実行

エクスポートしたファイルを含むディレクトリに移動し、以下のコマンドを実行します:

newman run testcase.json -e environment.json -g globals.json -d data.json -r cli,html,json,junit --reporter-html-export report.html
reporter.jpg

大変申し訳ありません、回答がまた途中で切れてしまいました。続きはこちらです:

report.png

このコマンドを実行すると、指定された環境とデータファイルを使用してコレクションが実行され、定義されたテストが順番に実行され、選択した形式で詳細なテストレポートが生成されます。また、ローカルに保存されるレポートも含まれます。

結果の理解

Newmanによって生成されたレポートは、APIテストの性能について貴重な洞察を提供します:

  • アサーション統計:アサーションの数とその合格/不合格ステータス。
  • テストレポート時間:テストの実行にかかった総時間。
  • レスポンススピード:レスポンスタイムの概観。
  • 平均レスポンス時間:APIのパフォーマンスと健康状態を理解するのに役立ちます。
report.jpg

結論

Newmanは、特に連続的なテストが重要である開発ワークフローにぴったりと収まる強力な自動テストスイートにポストマンコレクションを変換します。Newmanのコマンドライン機能を活用することで、チームはAPIテストを効果的かつ効率的に実施することができ、ソフトウェアの品質を高めることが保証されます。Newmanを開発パイプラインに統合することは、テストの自動化にとどまらず、信頼性の高くスケーラブルでシームレスなテスト環境を確保することを意味します。