🍵
Newman(Postman)の結果をCSVに出力
概要
PostmanのコマンドラインのcollectionランナーであるNewmanを使って実行結果をCSVにReportする方法について個人の備忘録としてまとめていきます。
インストール
$ npm install -g newman
Newmanの使用方法
$ newman run test-script.json
オプションとして、環境ファイルをURLを指定する場合は -e <source>
または--environment <source>
を、globalファイルを指定する場合は -g <source>
または--globals <source>
を指定します。その他詳細は下記に記載されてます。
runによる実行結果は例えば次のようになります。
$ newman run test-script.json
newman
xxx
→ xxx
POST https://yyy [200 OK, 481B, 158ms]
┌─────────────────────────┬────────────────────┬───────────────────┐
│ │ executed │ failed │
├─────────────────────────┼────────────────────┼───────────────────┤
│ iterations │ 1 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ requests │ 1 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ test-scripts │ 0 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ prerequest-scripts │ 0 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ assertions │ 0 │ 0 │
├─────────────────────────┴────────────────────┴───────────────────┤
│ total run duration: 180ms │
├──────────────────────────────────────────────────────────────────┤
│ total data received: 225B (approx) │
├──────────────────────────────────────────────────────────────────┤
│ average response time: 158ms [min: 158ms, max: 158ms, s.d.: 0µs] │
└──────────────────────────────────────────────────────────────────┘
CSV report
Newmanのreportはデフォルトjson
やcli
のみが対応している状況です。
コミュニティが開発した下記のライブラを使うことでCSVに出力することもできます。
インストール
$ npm install -g newman-reporter-csv
使用方法
$ newman run test-script.json -r csv
CSV write complete!
オプションとして--reporter-csv-includeBody
を指定することでリクエスト毎にAPIのレスポンスボディの内容をreportの結果に含めることができます。
$ newman run test-script.json -r csv --reporter-csv-includeBody
次のようなヘッダーの内容でCSVファイルに出力することができます。
iteration,collectionName,requestName,method,url,status,code,responseTime,responseSize,executed,failed,skipped,body
Discussion