如何使用Postman生成不同格式测试的报告

Posted 软件测试小dao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用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分享下实现中采坑过程。

最后:【可能给予你一定的帮助】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

关注我的微信公众号【软件测试小dao】免费获取~

我的学习交流群:644956177 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

以上是关于如何使用Postman生成不同格式测试的报告的主要内容,如果未能解决你的问题,请参考以下文章

Postman核心功能解析-参数化和测试报告

如何使用 angular9 和 Jasmine 为所有组件生成 .pdf 格式的单元测试用例代码覆盖率报告

postman(newman)+jenkins实现自动化测试生成报告发送邮件

PostMan生成测试报告

接口测试-第03天-使用Postman管理执行测试用例生成测试报告

Postman 之 newman 导出测试报告