基于postman获取动态数据过程详解
1、在Tests中处理
返回报文为json格式的
- 示例:因为充值记录接口中需要用到登录接口返回报文中的信息如下
- 以获取token(JWT)和uid为例
- 在登录接口的tests中写入代码(因为登录接口报文信息中有返回JWT和uid)
输入完上图中代码后,点击send请求接口,去全局变量中查看,是否成功获取JWT和uid的值并且设置了全局变量
在充值记录接口中需要用到JWT和uid的地方设置变量{{JWT}}和{{uid}}
请求完成后清除变量
通过批量执行用例的方法执行,且切换账号进行登录请求,进行验证充值记录的动态数据获取是否成功
返回报文为xml格式从返回报文中取值设变量
执行完上面接口后在全局变量中已存在变量provice
依赖接口将变量中的value作为参数传入
2、在Pre-requestScript中处理
首先postman提供了一个"Sendarequest"代码段,他是已经封装好的发送请求的方法,这个代码段默认只能发送get请求,且这样直接使用的话无法指定请求头等信息
- https://postman-echo.com/get表示要发送的请求
- function中的err表示请求返回的错误信息,response表示响应内容
- console.log()是postman封装的查看日志的方法,可以调出postman的console控制台来查看代码运行情况,方便调试。想要打印出什么由自己来定义,上面表示打印出json格式的响应信息
假如要传一个POST请求,且body参数为json数据
vardata={"userName":"17779828887","passWord":"123456"} constpostRequest={ 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
constform_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()); });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。