如何使用Postman生成不同格式測試的報告

Postman還可以生成測試報告,還是多種格式報告?

 

Postman團隊開源Newman作爲Postman運營工具,該開源庫使用命令行方式執行Postman 腳本,並且生成多種格式報告,還支持Postman SDK 純代碼腳本化Postman。

最近彙總所有支持Postman生成的報告,就是這個demo工程Postman-super-run它能幫助你執行Postman腳本(collection.json)並生成測試結果報告。

生成報告格式,如下圖所示:

命令行輸入mocha並回車,如此簡單,就可執行Postman腳本並自動生成不同格式測試報告。

一、工具地址

https://github.com/liyinchigithub/Postman-super-run

二、環境要求

Nodejs 

如果你的電腦已安裝配置Nodejs,此步驟可跳過。

如果還沒有,請先安裝配置Nodejs,具體步驟參考:

https://www.runoob.com/nodejs/nodejs-tutorial.html

三、使用

打開命令行終端窗口

1、安裝

npm install

2、將Postman腳本放入postmanCollection文件夾下

3、修改./test/test.js

修改引入Postman腳本的文件名稱

腳本示例,以JavaScript單元測試Mocha來編寫,如果你對Mocha還不瞭解,可參考下面鏈接:

https://mochajs.org/

Mocha猶如Java Junit或TestNG

4、運行

mocha 

5、自動生成報告文件

文件位置在./report文件夾下

報告示例:

html

html

CSV

json

其他報告示例詳見:

https://github.com/liyinchigithub/Postman-super-run/blob/master/README.md

四、配合持續集成

運用場景1:

公司所在其他業務線測試、產品、業務同事,需要在我負責業務線測試環境,構造一些訂單數據,用於他們後續環節流程測試,但又不想投入太多時間成本在我的業務線上,因此在jenkins配置一個job專門用來構造測試數據。

如下圖所示:

構建觸發執行shell 參數的配置

我對Postman-supper-run腳本進行調整,不在以mocha觸發腳本,而是使用nodejs命令行入參形式接收動態化參數,如下圖所示:


腳本內容,process.argv[index]用於接收命令行入參

const newman = require('newman');
 var Sandbox = require('postman-sandbox'), context;
 var CreateOrder = require("../environment/CreateOrder");//引入環境變量對象
 var accessToken = process.argv[2];// token
 var departureTimeDelay = process.argv[3];// 往後延幾個小時
 var serviceId = process.argv[4];// 訂單服務類型
 var carGroupId = process.argv[5];// 車組ID
 var cityId = process.argv[6];// 城市ID
 var passengerMobile = process.argv[7];// 乘車人手機號
 var airCode = process.argv[8];// 三字碼
 var isCoupons = process.argv[9];// 是否優惠券
 var isEnterpriseAuthentication = process.argv[10];// 鑑權類型


我將Postman環境變量json腳本文件路徑,替換爲JSON對象文件形式CreateOrder.js,方便接收jenkins傳過來的入參。

newman.run({
  // Postman collection 腳本文件路徑,也可以是一個url地址
  collection: require('../postmanCollection/OpenAPICreateData.postman_collection.json'), 
// Postman collection 環境變量
  environment: {
                    "id": "2fe5997e-dcda-4b4d-8b77-77256c5e1cd5",
                    "name": "OpenApi",
                    "values": CreateOrder
                },

 

如下圖所示:

Jenskin構建結果


還可以利用jenkins各種報告插件,可以把Postman-super-run運行生成報告文件展出來。

例如:Junit xml、json、allure html等格式報告jenkins都有到相對應報告插件。

運用場景2:

業務主流程,自動化測試迴歸用例腳本,定期自動執行,將生成的測試報告郵件發送給相關人員。

如下圖所示:


測試報告作爲附件,郵件爲報告內容。

Postman-supper-run後續拓展計劃想解析報告內容,寫入到數據庫中存儲執行記錄,用於排查測試環境開發前後端代碼分支的Bug,後續有時間會更新到github分享下實現中採坑過程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章