基于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去字符串前后空格5种实现方法及比较
Apr 03 Javascript
jQuery循环滚动新闻列表示例代码
Jun 17 Javascript
Jquery Ajax xmlhttp请求成功问题
Feb 04 Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
Apr 17 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
Aug 03 Javascript
解决vue中post方式提交数据后台无法接收的问题
Aug 11 Javascript
vue加载完成后的回调函数方法
Sep 07 Javascript
jQuery位置选择器用法实例分析
Jun 28 jQuery
JS判断数组四种实现方法详解
Jun 29 Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
JS分页效果示例
2013/10/11 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
Python求算数平方根和约数的方法汇总
2016/03/09 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
Python连接字符串过程详解
2020/01/06 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
司机检讨书
2014/02/13 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
2016年国培研修日志
2015/11/13 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技