基于postman获取动态数据过程详解


Posted in Javascript onSeptember 08, 2020

1、在 Tests 中处理

返回报文为 json 格式的

  • 示例:因为充值记录接口中需要用到登录接口返回报文中的信息如下
  • 以获取 token(JWT)和 uid 为例
  • 在登录接口的tests中写入代码(因为登录接口报文信息中有返回 JWT 和 uid) 

基于postman获取动态数据过程详解

输入完上图中代码后,点击send请求接口,去全局变量中查看,是否成功获取JWT和uid的值并且设置了全局变量

基于postman获取动态数据过程详解

在充值记录接口中需要用到JWT和uid的地方设置变量{{JWT}}和{{uid}}

基于postman获取动态数据过程详解

请求完成后清除变量

基于postman获取动态数据过程详解

通过批量执行用例的方法执行,且切换账号进行登录请求,进行验证充值记录的动态数据获取是否成功

基于postman获取动态数据过程详解

基于postman获取动态数据过程详解

返回报文为 xml 格式从返回报文中取值设变量

基于postman获取动态数据过程详解

执行完上面接口后在全局变量中已存在变量 provice

基于postman获取动态数据过程详解

依赖接口将变量中的 value 作为参数传入

基于postman获取动态数据过程详解

2、在 Pre-request Script 中处理

首先 postman 提供了一个 "Send a request" 代码段,他是已经封装好的发送请求的方法,这个代码段默认只能发送get请求,且这样直接使用的话无法指定请求头等信息

  • https://postman-echo.com/get 表示要发送的请求
  • function 中的 err 表示请求返回的错误信息,response 表示响应内容
  • console.log() 是 postman 封装的查看日志的方法,可以调出 postman 的 console 控制台来查看代码运行情况,方便调试。想要打印出什么由自己来定义,上面表示打印出 json 格式的响应信息

基于postman获取动态数据过程详解

假如要传一个 POST 请求,且 body 参数为 json 数据

var data = {"userName": "17779828887","passWord": "123456"}

const postRequest = {
 url: "http://localhost:8080/user/login",
 method: 'POST',
 header:"Content-Type: application/json",
 body: {
  mode: 'raw',
  raw: JSON.stringify(data)
 }};

pm.sendRequest(postRequest, function (err, res) {
  console.log(res.json());
  // 讲报文中的字段设为全局变量
  pm.globals.set("uid", res.json().data.user.uid);
  pm.globals.set("token", res.json().data.token);
});

// const 是 js 中用来定义变量的关键字,由 const 定义的变量不可以修改,而且必须初始化
// url 表示要发送的请求 url;
// method 指定请求方法;
// header 定制请求头信息(因为你要传 json 格式的数据的话,需要在这里定义请求头为 Content-Type:application/json,我开始这里没填写,一直提示 json 参数不对。。。)
// body 表示请求 body 中携带的参数
// JSON.stringify() 方法是将一个 JavaScript 值(对象或者数组)转换为一个 JSON 字符串

如果 header 中需要添加多个键值对,则需要按照如下方式

header: [
      "Content-Type: application/json",
      "token: duoceshi"
      ]

假如要传一个 POST 请求,参数类型是 application/x-www-form-urlencode

const form_request = {
  url: "http://192.168.0.221:8181/cms/manage/loginJump.do",
  method: "post",
  header: [
   "Content-Type: application/x-www-form-urlencoded"
   ],
  body:{
    mode: "raw",
    raw: "userAccount=admin&loginPwd=123456"
  }
};

pm.sendRequest(form_request, function (err, response) {
  console.log(response.json());
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js读取本地excel文档数据的代码
Nov 11 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
Mar 24 Javascript
JS截取字符串常用方法详细整理
Oct 28 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
Mar 05 Javascript
js控制href内容的连接内容的变化示例
Apr 30 Javascript
js仿支付宝多方框输入支付密码效果
Sep 27 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 Javascript
hammer.js实现图片手势放大效果
Aug 29 Javascript
vue 组件中slot插口的具体用法
Apr 03 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
Feb 16 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 11 Javascript
js前端图片加载异常兜底方案
Jun 21 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 #Javascript
如何区分vue中的v-show 与 v-if
Sep 08 #Javascript
谈谈JavaScript中的函数
Sep 08 #Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 #Javascript
浅析JavaScript 函数柯里化
Sep 08 #Javascript
Vue.js使用axios动态获取response里的data数据操作
Sep 08 #Javascript
JavaScript 事件代理需要注意的地方
Sep 08 #Javascript
You might like
php 过滤器实现代码
2010/08/09 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
网游商务专员求职信
2013/10/15 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
廉洁使者实施方案
2014/03/29 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
个人担保书范文
2014/05/20 职场文书
校园演讲稿汇总
2014/05/21 职场文书
经济管理专业求职信
2014/06/09 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
小学科学教学计划
2015/01/21 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis
python_tkinter事件类型详情
2022/03/20 Python
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby