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

目录
  • 1.全局方法注册及使用
    • 1.1 注册
    • 1.2全局方法使用
  • 2. 可视化

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全局注册数据可视化的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringMVC加载控制与Postmand的使用和Rest风格的引入及RestFul开发全面详解

    目录 前言 一.bean的加载控制 二.容器加载 1.createServletApplicationContext()方法 2.createRootApplicationContext()方法 3.getServletMappings()方法 三.PostMan的引入 1.发送GET请求 2.发送POST请求 3.中文乱码问题解决 四.Rest风格 1.REST简介 2.RESTful传参 3.RESTful简便形式(快速开发) 4.放行静态资源 前言 从繁到简是贯彻SSM学习过程的原始真解

  • 使用postman进行接口自动化测试

    目录 一.接口结果判断 1.功能区 2.脚本相关 3.代码模板 二.集合(批量)测试 1.批量执行 2.变化的参数数据 1.使用变量 2.Pre-request Script 3.测试数据集 3.定期任务 三.请求依赖问题 1.接口执行顺序 2.数据传递 1.全局变量 2.多环境区分与切换 3.变量的创建 4.使用与切换 3.解决依赖问题 1.假设场景 2.思路 3.Postman 中的操作 4.运行并查看结果 我们先思考一下,如果需要达到自动化接口测试的效果,那么我们在基本的模拟请求上还需要

  • 使用Postman生成的okhttp代码依赖

    目录 Postman生成okhttp代码依赖 使用Postman快速生成代码 总结 Postman生成okhttp代码依赖 <dependency>             <groupId>com.squareup.okhttp3</groupId>             <artifactId>okhttp</artifactId>             <version>3.14.9</version>    

  • node.js+postman+mongodb搭建测试注册接口的实现

    目录 准备工作 下载安装Postman mongodb连接串配置 GET请求测试 注册接口搭建 创建User数据模型 使用body-parser中间件 POST请求测试 使用User数据模型 使用gravatar处理头像 准备工作 申请一个免费的MongoDB 到https://www.mlab.com注册申请一个500M的MongoDB数据库.登录后手动在创建Databases下的Collections中手动创建一个数据库node_app. 在个人首页点击Connect获取node.js连接M

  • 使用Postman测试需要授权的接口问题

    Postman是一款免费的http模拟请求工具,常用来测试开发接口.实际场景中,很多接口是需要授权才能使用.这就需要Postman获取授权,把返回的token保存,在调用其他接口时连同token一起传递. 我所在的项目基于spring全家桶,正常流程是:调用获取验证码接口 -> 登录接口 -> 调用业务接口 . 新建一个登录请求 "{{参数名}}"代表Postman的环境变量 captchaKey 调用获取验证码返回 captchaCode 验证码,因为是测试环境,固定88

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

    目录 1.全局方法注册及使用 1.1 注册 1.2全局方法使用 2. 可视化 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

  • layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)

    声明:这里非常感谢闲心大神,开源了非常好用的前端UI框架,layui,如有侵权请联系我.当然闲心在2.0版本的layuiAdmin已经支持了,不过是收费版的,需要的同学可以自行购买,网址:http://www.layui.com/admin/pro/ 本人在做管理后台事用到了左侧的导航列表,但是管理后台进来的菜单是根据不同账户的权限,显示不同的菜单.这时候需要动态的渲染左侧的列表.但是1.0版本只是更新到2级菜单,不满足如下图的3级菜单需求,只能自己动手,改造源码 话不多说,上代码: 1.htm

  • java多线程编程之从线程返回数据的两种方法

    一.通过类变量和方法返回数据 使用这种方法返回数据需要在调用start方法后才能通过类变量或方法得到数据.让我们先来看看例程2-13会得到什么结果. 复制代码 代码如下: package mythread; public class MyThread extends Thread{    private String value1;    private String value2; public void run()    {        value1 = "通过成员变量返回数据"

  • R语言绘图数据可视化pie chart饼图

    目录 Step 1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的调用 Step4. 饼图百分比标签准备 Step5.绘图 今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了.本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大器ggplot2么,实在需要用的时候我就一句ggplot()+geom_pie()不就搞定了. 结果后来用Excel画饼图调整颜色.大小的时候着实有些崩

  • Ajax上传实现根据服务器端返回数据进行js处理的方法

    本文实例讲述了Ajax上传实现根据服务器端返回数据进行js处理的方法.分享给大家供大家参考.具体如下: Ajax上传说白了还是使用form表单提交,在当前页面加一个iframe,将提交的内容跳转到iframe中,造成一种页面无刷新的错觉. 以前也做过上传,基本是是使用commons-fileupload组件,基本的步骤是使用servlet处理完上传之后,使用PrintWrite的对象实例输出显示内容,可以是直接输出内容,也可以是输出script进行操作如 复制代码 代码如下: response.

  • jquery访问servlet并返回数据到页面的方法

    本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下: package com.panlong.servlet; import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder; import javax.servlet.ServletException;

  • Vue中请求本地JSON文件并返回数据的方法实例

    目录 1.目录结构 2.检查一下自己是否安装了 json-server(以下截图代表安装了) 3.安装完成以后我们就可以运行自己的json文件了 4.看看浏览器里的数据呈现效果吧 5.为了保险起见,我还特地去 postman 上测试了一下(可以省略这步) 6.现在我们可以编写代码发送请求来获取数据啦 7.在控制台就可以看到我们数据请求回来了 总结 1.目录结构 直接在根目录下创建自己的JSON文件,在此我的JSON文件名为data.json 以下是我的JSON文件内容(此处是参照的黑马程序员的v

  • Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    本文实例讲述了Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package mysocket    import (      "fmt"      "io"      "net"  )    func MySocketBase() {      var (          host   = "www.apache.org"         

  • php从数据库读取数据,并以json格式返回数据的方法

    php中,从数据库读取数据,并以json格式返回数据.具体方法如下: 第一步,定义相关变量 $servername = "localhost"; $username = "root"; $password = "root"; $mysqlname = "datatest"; $json = ''; $data = array(); class User { public $id; public $fname; public $

  • 详解关于表格合并span-method方法的补充(表格数据由后台动态返回)

    之前写了一些关于element-ui表格合并的方法,不过用的数据都是确定的数据(死数据),但是很多时候我们的数据都是通过后台获得的,数据不稳定,这个时候使用表格合并就需要先处理一下数据,先看一下一种很常见的数据展示场景 直接上代码,HTML代码就不放了,都是差不多的,下面另一种场景有 // 模拟后台返回的值 getTable () { this.tableData = [{ id: 1, region: '中国', type: [{ sortName: '器械', sortList: [{ na

随机推荐