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生成不同格式测试的报告的更多相关文章

  1. Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告

    BComp.exe /silent /closescript /solo @E:\compareTest\BCbatch.txt text-report layout:side-by-side opt ...

  2. 用命令行的方式把jmeter结果文件JTL生成csv格式的聚合报告

    我们知道 利用jmeter 的GUI的 Aggragate Listner 很容易把一个JTL 文件另存为CSV 文件,该CSV 文件中自动分析了 Transactions 的 90%, Median ...

  3. 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告

    在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...

  4. jmeter生成html格式接口自动化测试报告

    jmeter生成html格式接口自动化测试报告 jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观. 笔者刚做了这方面的尝试,总结出来分享 ...

  5. pytest.11.生成xml格式的测试报告

    From: http://www.testclass.net/pytest/report/ pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的.然而我们在运行用例后经常会需要将测试 ...

  6. 利用ant 执行jmeter用例生成html格式报告

    1.安装ant 2.准备jmeter 及用例文件.jmx 3.编辑ant 执行文件build.xml <?xml version="1.0" encoding="G ...

  7. Rss 订阅:php动态生成xml格式的rss文件

    Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...

  8. Auty自动化测试框架第四篇——生成测试结果报告

    [本文出自天外归云的博客园] 本次为Auty框架添加生成测试结果报告功能,文件结构更新:

  9. jemter转换报告生成html格式报告

    前言: 结合上篇,因为使用Jenkins做集成,jmeter的结果肯定需要生产一个报告,如果按原本的jmt格式生成,肯定是不行的,现在就需要对报告格式进行转换 使用工具: ant:jmeter可以通过 ...

随机推荐

  1. AIX详细的VG,LV扩容步骤

    需求 1.归档日志刷得太快,经常把空间挤爆. 2.Oracle数据库表空间需要扩容 解决方案 1.先做重要数据备份 2.进行文件系统扩容 步骤 1. df -g 查找出/u01 对应的VG卷 VOLU ...

  2. windows下怎么同时使用python2和3

    windows命令行下,怎么能够自由的切换python2和3呢?当然不是切换目录!很多帖子告诉你,将python2目录下的python.exe文件改成python2.exe,pyhton3目录下的py ...

  3. .net 使用TCP模拟UDP广播通信加强广播通信的稳定性

    应用场景:当每一台终端开启程序后发出消息,其他终端必须收到消息然后处理 思路1:使用UDP广播.     缺点:UDP广播信号不稳定,无法确定每一台机器能接收到信号 思路2:将一台主机作为服务器,使用 ...

  4. 你知道吗?iOS不少程序常传送装置信息给第三方

    2019独角兽企业重金招聘Python工程师标准>>> 华盛顿邮报( The Washington Post)与隐私程序开发商Disconnect共同进行的研究揭露,许多iOS程序其 ...

  5. div/dom元素拖拽缩放插件,纯js实现拖拽缩放,不依赖jQuery~

    产品需求,需要用到对div(dom)进行拖拽缩放操作,看到有好多插件,要么依赖jQuery,要么文件太大. 封装了一个插件,不压缩状态下5KB. html <!DOCTYPE html> ...

  6. TCP连接过程及报文解析

    可能大家都听过TCP建立连接时需要经历三次握手和四次挥手的. 那么具体的握手挥手的过程是怎么样的呢? 这篇文章就通过WireShark抓包来了解TCP连接建立和断开的过程. 实验方法: 写一段简单的代 ...

  7. Boostrap Table学习笔记

    最近要对项目上的table进行调整,让表格能够支持更多的操作,于是接触到了boostrapTable这个插件.研究了一天,记录下学习的内容. Boostrap Table可以支持表的分页及动态显示表的 ...

  8. du命令、df命令、磁盘分区

    df:汇报文件系统的磁盘使用空间[root@localhost ~]# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda3 29140072 1022920 28117152 4% ...

  9. 在Jetson TX2上捕获、显示摄像头视频

    参考文章:How to Capture and Display Camera Video with Python on Jetson TX2 与参考文章大部分都是相似的,如果不习惯看英文,可以看看我下 ...

  10. 线性回归 - LinearRegression - 预测糖尿病 - 量化预测的质量

    线性回归是分析一个变量与另外一个或多个变量(自变量)之间,关系强度的方法. 线性回归的标志,如名称所暗示的那样,即自变量与结果变量之间的关系是线性的,也就是说变量关系可以连城一条直线. 模型评估:量化 ...