Postman全局注册方法及对返回数据可视化处理

 更新时间:2023年02月10日 14:27:50   作者:River_WJ  
这篇文章主要为大家介绍了Postman全局注册方法及对返回数据可视化处理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1.全局方法注册及使用

1.1 注册

在collection最外层中Pre-request Script中编写全局方法

// 开发者本机ip
const globalDevIp = 'http://172.16.65.46:9191'
// 全局变量
pm.globals.set("variable_key", "variable_value");
var moment = require('moment');
var date = new Date();
date = moment(date).format("YYYY-MM-DD HH:mm:ss");
var transNo = moment(date).format("YYYYMMDDHHmmss");
pm.environment.set("req_time", date);
pm.environment.set("transNo", transNo);
pm.environment.set('globalDevIp', globalDevIp)
// 注册全局方法
pm.globals.set('loadUtils', function loadUtils() {
    let utils = {
        // 获取个人编号-依赖于HT000-获取个人/企业数据(先执行HT000)
        getPerson: (name) => {
            try {
                let globalPerson = pm.environment.get('globalPerson');
                if (globalPerson && globalPerson.length == 32) {
                    return globalPerson
                }
                let tempObj = pm.environment.get('psersonAccountMap');
                if (typeof tempObj == 'object') {
                    return tempObj[name || globalPerson].id
                } else {
                    throw(new Error('在全局配置的HT000中,设置全局个人编号'))
                }
            } catch(e) {
                const errorMsg = '获取全局个人编号失败,' + (e.message || e)
                console.error(errorMsg)
                throw(new Error(errorMsg))
            }
        },
        // 设置bizContent和sign签名
        setBizContent: (biz_content) => {
            ...
        },
        // 可视化结果
        devRedirectUrl(url) {
            if (!url && !url.includes('?')) return
            const ip = pm.environment.get('globalDevIp')|| pm.environment.get('api_url_prefix')
            const temp = url.split('?')[1].replace('&timestamp', '&timestamp')
            const redirectUrlWebs = ip + '/#/webs?'+ temp
            const redirectUrlApp = ip + '/#/app?'+ temp
            /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓【开发专用--重定向】↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
            pm.visualizer.set(`
            <div style="width: 100vw; height: 100vh; font-family: monospace; color:blue; word-bread: pre-wrap; ">
                <textarea style="width: 100vw; height: 30%; " readonly>${redirectUrlWebs}</textarea>
                <textarea style="width: 100vw; height: 30%; " readonly>${redirectUrlApp}</textarea>
            </div>
            `)
            /* ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑【开发专用--重定向】↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ */
        }
    };
    return utils;
} + '; loadUtils();');
console.log('全局方法已经注册')

1.2全局方法使用

在业务请求中的Pre-request Script引入方法, 如:

const utils = eval(globals.loadUtils); // 全局方法引入
// 获取默认个人ID;不传参,取默认值,可传参:utils.getPerson('账号') 
let personSignerId = utils.getPerson()

2. 可视化

以下内容是工作中碰到的一个繁琐操作,访问接口后,返回结果的带域名地址替换本机ip,然后浏览器打开替换后的地址→进行调试。

PS: 手动修改虽然步骤不多,但每次都要去修改,作为一名合格的懒人,想着对结果进行二次修改后进行展示。对返回结果进行二次处理后,并可视化,方便复制。

另:其实还有更进一步的想法,就是调用接口后,对数据二次处理后,通过postman软件直接打开chrome浏览器访问目标地址。但目前没有找到该实现方法,有大佬知道的可以指导一下。

可视化操作如下:

在业务请求的Tests中,编写方法或者全局方法注册

const redirectUrlApp = JSON.parse(responseBody)
pm.visualizer.set(`
<div style="width: 100vw; height: 100vh; font-family: monospace; color:blue; word-bread: pre-wrap; ">
    <textarea style="width: 100vw; height: 30%; " readonly>${redirectUrlApp}</textarea>
</div>
`)
或者
let template = `
  <div>
    <h3>name:{{response.name}}</h3>
    <h3>partition:{{response.partition}}</h3>
  </div>
`;
pm.visualizer.set(template, {
    response: JSON.parse(responseBody)
});

页面展示在Body下的Visualize,在可视化窗口中,很方便就能全选复制地址

以上就是Postman全局注册方法及对返回数据可视化处理的详细内容,更多关于Postman全局注册数据可视化的资料请关注脚本之家其它相关文章!

相关文章

  • 多端登录如何实现踢人下线需求实现

    多端登录如何实现踢人下线需求实现

    这篇文章主要为大家介绍了多端登录如何实现踢人下线的需求实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 关于提交项目到gitee报错Push to origin/master was rejected的问题

    关于提交项目到gitee报错Push to origin/master was rejected的问题

    这篇文章主要介绍了提交项目到gitee报错Push to origin/master was rejected的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 使用VScode写一个html页面

    使用VScode写一个html页面

    本文给大家分享的是使用vscode编写的第一个html页面的全过程,非常的简单,菜鸟看看就行,高手请略过
    2020-01-01
  • 图片的色彩空间问题

    图片的色彩空间问题

    不知有多少朋友遇到此类问题:在PS里处理好的图,发到论论坛上以后发现图片颜色大变,变得灰蒙蒙,失去了层次,色彩生硬,还有点发青
    2014-05-05
  • 让开发自动化 用 Eclipse 插件提高代码质量

    让开发自动化 用 Eclipse 插件提高代码质量

    如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露前发现这些问题。
    2009-05-05
  • 深度学习开源框架基础算法之傅立叶变换的概要介绍

    深度学习开源框架基础算法之傅立叶变换的概要介绍

    今天小编就为大家分享一篇关于深度学习开源框架基础算法之傅立叶变换的概要介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • git-pycharm配置.ignore文件的详细过程

    git-pycharm配置.ignore文件的详细过程

    在开发中经常需要配置提交git的忽略文件,本篇来学习下使用pycharm自动生成.ignore文件,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • windows下Git安装教程(图文)

    windows下Git安装教程(图文)

    这篇文章主要介绍了windows下Git安装教程(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 详解Google Protobuf简明教程

    详解Google Protobuf简明教程

    这篇文章主要介绍了详解Google Protobuf简明教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • git设置用户名密码的示例代码

    git设置用户名密码的示例代码

    这篇文章主要介绍了git设置用户名密码的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论