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

发表于:2020-6-02 10:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:糖小幽    来源:软件测试君

  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分享下实现中采坑过程。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号