zoukankan      html  css  js  c++  java
  • 如何使用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分享下实现中采坑过程。

  • 相关阅读:
    How to change the generated method stub code for C#
    White Paper: Microsoft Data Platform Development
    spring2.5jar包和配置文件总结
    自定义拦截器
    spring+jdbc开发
    Spring Aop支持的两种方式
    C#中Aop编程
    struts2整合spring
    批处理命令总结
    利用datawindow或者datastore的saveas方法导出excell文件,然后修改中文表头
  • 原文地址:https://www.cnblogs.com/longronglang/p/12926440.html
Copyright © 2011-2022 走看看