Postman接口测试中请求和响应的参数传递 |
您所在的位置:网站首页 › postman如何传参 › Postman接口测试中请求和响应的参数传递 |
问题:使用Postman测试接口,获取请求或者响应中的某个字段,并传递给另一个接口请求的参数 思路: 1.获取接口请求或者响应中的字段 2.将获取的字段保存为Postman中的环境变量或者全局变量 3.在另一个接口中使用变量 前言: 1.Postman沙箱是一个JavaScript执行环境,沙箱中还可以使用许多NodeJS模块。也就是说,在Tests中用的是js语法写的测试脚本,调试过程中使用console.log()打印。 2.Postman的控制台查看调试信息,通过View→Show Postman Console(CTRL + ALT + C)打开,或者通过界面左下角的图标按钮打开。 3.参考资料为Postman官方文档:《Postman Sandbox》、《Postman Sandbox API reference》 解决: 1.1使用responseBody获取接口响应中的字段举例:获取https://postman-echo.com/get接口响应中的url值 var res_str=responseBody//responseBody是包含原始响应正文文本的字符串 var res_json=JSON.parse(res_str)//用JSON.parse()把字符串转为json var data=res_json.url举例:获取https://postman-echo.com/post接口请求中,表单key为method对应的值 var res_dat=request.data//request表示请求对象,request.data是请求的表单数据字典 console.log(res_dat.method)//获取请求表单数据中键为method对应的value值举例:获取https://postman-echo.com/get?test=postman接口请求中,参数test对应的值 const querystring = require('querystring');//require(moduleName)使用沙盒内置库模块,querystring模块可以解析和格式化URL查询字符串 var url=request.url;//获取请求对象中的url var str=url.split("?")[1];//使用split()把字符串分割成字符串数组 console.log(querystring.parse(str).test);//querystring.parse()将URL查询字符串解析为键和值对的集合postman窗口右侧就自带了一些代码片段,点击相应的代码片段修改后就可以使用。 2.1保存为环境变量 环境变量:存在于当前的环境中,也只能在当前环境中使用 pm.environment.set("variable_key", "variable_value");
pm对象包含与正在执行的脚本有关的所有信息 1.使用pm.response获取接口响应中的字段 接口:https://postman-echo.com/get?test=postman var re=pm.response.json() console.log(re.url)2.使用pm.request.body获取Post请求(form-data)中的字段 接口:https://postman-echo.com/post 表单:method:POST var str=pm.request.body.formdata console.log(str.get('method'))3.使用pm.requestt.body.raw获取Post请求(json)中的字段 接口:https://postman-echo.com/post body:{“method”: “POST”} var re=JSON.parse(pm.request.body.raw) console.log(re.method)4.使用pm.request.url获取Get请求(params)中的字段 接口:https://postman-echo.com/get?test=postman var re=pm.request.url.query console.log(re.get('test')) 获取字段总结: request.url{string} -请求的网址request.data {object} -这是请求的表单数据字典,若是raw则为StringresponseBody {string} -包含原始响应正文文本的字符串pm.request.url.query 请求地址中的参数,用get()可以获取key对应的valuepm.request.body 请求内容pm.response.json() 响应转变为json对象 个人总结:1.学会查看官方提供的文档解决问题 2.了解JavaScript和Node.js 3.学会用控制台查看用console.log()打印的调试信息 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |