基于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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
Jquery中显示隐藏的实现代码分析
Jul 26 Javascript
基于jquery的跟随屏幕滚动代码
Jul 24 Javascript
javascript中的取反再取反~~没有意义
Apr 06 Javascript
node.js中的fs.rmdirSync方法使用说明
Dec 16 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
基于jquery实现日历签到功能
Sep 11 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
富文本编辑器vue2-editor实现全屏功能
May 26 Javascript
Vue-axios-post数据后端接不到问题解决
Jan 09 Javascript
Javascript模拟实现new原理解析
Mar 03 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同时支持GIF、png、JPEG
2006/10/09 PHP
PHP5函数小全(分享)
2013/06/06 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
javascript如何实现create方法
2019/11/04 Javascript
Python过滤列表用法实例分析
2016/04/29 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
Django框架封装外部函数示例
2019/05/28 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
详解python itertools功能
2020/02/07 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
酒店经理职责
2014/01/30 职场文书
终止合同协议书
2014/04/17 职场文书
超市创业计划书
2014/09/15 职场文书
放弃继承权公证书
2015/01/23 职场文书
请客吃饭开场白
2015/06/01 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS