基于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 相关文章推荐
Jquery知识点三 jquery表单对象操作
Jan 17 Javascript
关于JavaScript中string 的replace
Apr 12 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
May 08 Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 Javascript
javascript获取checkbox复选框获取选中的选项
Aug 12 Javascript
js+css3制作时钟特效
Oct 16 Javascript
JQuery和PHP结合实现动态进度条上传显示
Nov 23 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
原生js调用json方法总结
Feb 22 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
Jun 13 Javascript
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 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
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
jquery ui resizable bug解决方法
2010/10/26 Javascript
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
js模拟微博发布消息
2017/02/23 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
微信小程序实现点击图片放大预览
2019/10/21 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Python实现的简单万年历例子分享
2014/04/25 Python
python 异常处理总结
2016/10/18 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
Servlet如何得到服务器的信息
2015/12/22 面试题
小学爱国卫生月活动总结
2014/06/30 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
单位租房协议书样本
2014/10/30 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技