基于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 相关文章推荐
JavaScript Base64编码和解码,实现URL参数传递。
Sep 18 Javascript
javascript复制对象使用说明
Jun 28 Javascript
js判断两个日期是否相等的方法
Sep 10 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
JS实现向表格中动态添加行的方法
Mar 30 Javascript
浅析jQuery Mobile的初始化事件
Dec 03 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
Javascript 严格模式use strict详解
Sep 16 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
Jun 12 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
Vue实现移动端左右滑动效果的方法
Nov 27 Javascript
vuejs实现下拉框菜单选择
Oct 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
如何利用php+mysql保存和输出文件
2006/10/09 PHP
第九节--绑定
2006/11/16 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
Python中os和shutil模块实用方法集锦
2014/05/13 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
详解Python pygame安装过程笔记
2017/06/05 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
python使用thrift教程的方法示例
2019/03/21 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
keras多显卡训练方式
2020/06/10 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
毕业自荐信
2013/12/16 职场文书
招聘单位介绍信
2014/01/14 职场文书
小学班级特色活动方案
2014/08/31 职场文书
学校联谊协议书
2014/09/16 职场文书
颐和园导游词
2015/01/30 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书