如何使用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分享下实现中采坑过程。
如何使用Postman生成不同格式测试的报告的更多相关文章
- Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告
BComp.exe /silent /closescript /solo @E:\compareTest\BCbatch.txt text-report layout:side-by-side opt ...
- 用命令行的方式把jmeter结果文件JTL生成csv格式的聚合报告
我们知道 利用jmeter 的GUI的 Aggragate Listner 很容易把一个JTL 文件另存为CSV 文件,该CSV 文件中自动分析了 Transactions 的 90%, Median ...
- 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告
在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...
- jmeter生成html格式接口自动化测试报告
jmeter生成html格式接口自动化测试报告 jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观. 笔者刚做了这方面的尝试,总结出来分享 ...
- pytest.11.生成xml格式的测试报告
From: http://www.testclass.net/pytest/report/ pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的.然而我们在运行用例后经常会需要将测试 ...
- 利用ant 执行jmeter用例生成html格式报告
1.安装ant 2.准备jmeter 及用例文件.jmx 3.编辑ant 执行文件build.xml <?xml version="1.0" encoding="G ...
- Rss 订阅:php动态生成xml格式的rss文件
Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...
- Auty自动化测试框架第四篇——生成测试结果报告
[本文出自天外归云的博客园] 本次为Auty框架添加生成测试结果报告功能,文件结构更新:
- jemter转换报告生成html格式报告
前言: 结合上篇,因为使用Jenkins做集成,jmeter的结果肯定需要生产一个报告,如果按原本的jmt格式生成,肯定是不行的,现在就需要对报告格式进行转换 使用工具: ant:jmeter可以通过 ...
随机推荐
- GOLANG 匿名函数笔记
在函数内部,没有名字的函数,就是匿名函数 实现方法1: func main(){ a := "我是无参无返回值的匿名函数" x := func(){ //可以获取到匿名函数外部的变 ...
- GDI+ 绘制砂岩含量图版
图版是在工作中经常会使用到的工具,它能够大大提高我们日常工作效率.地质图版在地质工作中具有举足轻重的作用,不仅可以轻松判断岩性,也可以依据经验图版直接得到结果,十分方便. 本程序目的绘制出一个地质常用 ...
- SpringBoot应用操作Rabbitmq
记录RabbitMQ的简单应用 1.springboot项目中引入maven包,也是springboot官方的插件 <dependency> <groupId>org.spri ...
- Eclipse Mac OS 安装 最新版 Subversion插件subclipse
subclipse 目前全部转移到github 官方地址 https://github.com/subclipse/subclipse/wiki Eclipse mac版 安装 最新版svn插件sub ...
- CCF NOI1039 2的n次方
问题链接:CCF NOI1039 2的n次方. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 对于任意给定的n,计算2的n次方. 输入 输入整数n. 输出 输出2的n次方的值 ...
- JS中switch语句做选择时为什么可以不用break?
在JavaScript中,switch语句相比其他语言并没有特殊之处. 在使用时,我们要注意每个分支后都应加一条break语句,否则后面的分支仍然会执行.实际程序中,我发现有时没用break语句,仍然 ...
- 用VC实现洪水攻击程序
本文为原创,如需转载,请注明作者和出处,谢谢! 一. 什么是洪水攻击 洪水之猛.势不可挡.如果将洪水比作对计算机的攻击,那大家可以想象得出,攻击是多的猛烈. 在安全领域所指的洪 ...
- Hyperf基础教程
前提说明 本教程适用于新手.老手,也适用于任何操作系统,包括Windows.linux.MacOS 介绍 Hyperf 是基于 Swoole 4.4+ 实现的高性能.高灵活性的 PHP 协程框架,内置 ...
- POJ3614防晒霜 这个贪心有点东西(贪心+优先队列)
这个题是说有C头牛去晒太阳,带了L瓶防晒霜,每瓶防晒霜都有一个SPF值(每瓶防晒霜都能解决一个最短路 ) 每头牛给出了他可以接受防晒霜的上限,和下限,每种防晒霜都给出了SPF值与数量. 从防晒霜的sp ...
- CentOS上安装比较习惯的代码编辑器
linux下的vim用起来不是很习惯,可能是能力有限.所以一直在找一种自己比较熟悉的代码编辑器,所以就找到了sublime text,安装方法网上有很多种,比较方便的方法:直接在csdn上下载一个破解 ...