前言
前面的應用中,都是在postman圖形界面工具里面進行測試,但是有時候我們需要把測試腳本集成到CI平台,或者在非圖形界面的系統環境下進行測試,那么我們該如果處理呢
通過newman來執行postman測試腳本,並生成測試報告
Newman是一款基於nodejs開發的可以運行postman腳本的工具,使用Newman,可以直接從命令運行和測試postman集合
環境准備
一、安裝nodejs
1.安裝Newman需要先安裝nodejs 下載地址: http://nodejs.cn/download/
下載后一路next ,安裝后,打開cmd,輸入node -v ,看到輸出node的版本信息,即代表安裝成功,環境變量設置也正確。

二、安裝newman
cmd輸入 npm install newman –global
安裝完成后,輸入指令 newman -v 查看版本,檢測是否安裝成功,這里注意,newman的包被安裝在了npm工具的包下

如上圖,即安裝正確,接下來安裝html報告
npm install -g newman-reporter-html
執行測試
一、從postman導出測試集合

新建一個文件夾pmtest,將導出的json腳本和測試數據都放入該文件夾中
Newman 執行腳本
命令行運行測試集合,cmd 進入到pmtest的json文件的目錄下,輸入指令
newman run postmanEcho.postman_collection.json(測試腳本) -d 測試數據 -r html

查看測試報告
在測試文件夾pmtest文件里面生成一個Newman文件夾,打開就可以看到生成的測試報告

測試報告內容:

newman不僅支持生成html報告,還支持其他格式的報告:
- JSON report
- JUNIT/XML report
- Client report
- HTML report
Newman語法
1、運行一個集合
newman run 集合名
newman run url地址
2、-e,–environment 指定環境文件路徑或者url
-e的用法是如果我們的集合設置到環境變量,那么但是運行集合文件是報錯的,需要使用-e指定才能運行集合,比如運行測試搜索集合
newman run d:\test.postman_collection.json -e d:\test.postman_environment.json
3、-g,–globals 指定全局變量的文件地址或url 用法如-e
4、-d,—-iteration-data 指定用於迭代的數據源文件路徑
newman run d:\test.postman_collection.json -e d:\test.postman_environment.json -d d:\testdata.csv
5、-n,–iteration-count 指定迭代次數
newman run 集合名 -n 10(迭代次數)
6、–folder 運行集合中指定的文件夾
如集合下存在文件(前端接口),使用該命名,則只運行集合中前端接口文件下的接口
7、–export-environment 導出該運行集合中的環境變量文件 可指定路徑和名稱
newman run d:\test.postman_collection.json -e d:\test.postman_environment.json -d d:\testdata.csv —-export-environment d:\test
–export -environment d:\test 導入環境變量文件名稱為test 存儲在d盤下
注意:
將該文件導入postman之后還是與導出前的文件名相同,比如此處【test.postman_environment.json】導出前對應的環境變量為【test】,那么test導入之后的命名還是【test】,同樣,導出集合也是如此。
8、–export-globals 導出全局環境變量
9、–export-collection 導出集合文件
10、–timeout (ms) 設置整個集合運行完成執行的時間
11、–timeport-request (ms) 指定等待請求返回響應的時間
12、–timeout-script (ms)指定等待腳本執行完成的時間
