基于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 相关文章推荐
广告切换效果(缓动切换)
May 27 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
js 上传图片预览问题
Dec 06 Javascript
javascript在子页面中函数无法调试问题解决方法
Jan 17 Javascript
JavaScrip调试技巧之断点调试
Oct 22 Javascript
javascript正则表达式模糊匹配IP地址功能示例
Jan 06 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 Javascript
深入探讨JavaScript的最基本部分之执行上下文
Feb 12 Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
Nov 05 Javascript
详解js创建对象的几种方式和对象方法
Mar 01 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 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
学习ExtJS form布局
2009/10/08 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
js实现图片懒加载效果
2017/07/17 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
Python中暂存上传图片的方法
2015/02/18 Python
Python 字典与字符串的互转实例
2017/01/13 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
回门宴新郎答谢词
2014/01/12 职场文书
开学典礼感言
2014/02/16 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
旷课检讨书500字
2014/10/14 职场文书
2014年城市管理工作总结
2014/12/02 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
小学大队委竞选口号
2015/12/25 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS