基于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 相关文章推荐
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
DOM基础教程之使用DOM控制表格
Jan 20 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
利用JS实现简单的日期选择插件
Jan 23 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
js实现经典贪吃蛇小游戏
Mar 19 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 Javascript
Vue实现简易购物车页面
Dec 30 Vue.js
解决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
javascript 新浪背投广告实现代码
2009/07/07 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
js中null与空字符串""的区别讲解
2019/01/17 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python套接字流重定向实例汇总
2016/03/03 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
python二进制文件的转译详解
2019/07/03 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
英语硕士生求职简历的自我评价
2013/10/15 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
大学社团活动策划书
2014/01/26 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
用Python生成会跳舞的美女
2022/01/18 Python