基于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 相关文章推荐
JavaScript与DropDownList 区别分析
Jan 01 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 Javascript
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
javascript弹出窗口中增加确定取消按钮
Jun 24 Javascript
javascript加载xml 并解析各节点的值(实现方法)
Oct 12 Javascript
PHP捕捉异常中断的方法
Oct 24 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
node 命令方式启动修改端口的方法
May 12 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
May 16 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
May 31 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 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
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
详解vue更改头像功能实现
2019/04/28 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
详解Python中break语句的用法
2015/05/14 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
省优秀教师事迹材料
2014/01/30 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
检讨书范文500字
2015/01/28 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
一起来学习Python的元组和列表
2022/03/13 Python
vue修饰符.capture和.self的区别
2022/04/22 Vue.js