51Testing软件测试论坛
标题:
如何使用Postman发送脚本请求?
[打印本页]
作者:
草帽路飞UU
时间:
2022-9-5 15:59
标题:
如何使用Postman发送脚本请求?
Postman
的Collection(集合)/Folder(集合的子文件夹)/Request(请求)都有Pre-request script和Tests两个脚本区域, 分别可以在发送请求前和请求后使用脚本(基于Javascript实现各种操作)。
[attach]142491[/attach]
[attach]142493[/attach]
在遇到有依赖的接口时,比如需要登录或者需要从前一个接口的结果中获取参数时,我们往往需要在该请求前先发送一下所依赖的请求, 我们可以在Pre-request script中使用pm.sendRequest实现。
1.发送GET请求
Copyconst url = 'http://115.28.108.130:5000/api/user/getToken/?appid=136425';// 发送get请求pm.sendRequest(url, function (err, res) { console.log(err ? err : res.text()); // 控制台打印请求文本});
可以配合pm.environment.set(key:value)来将响应中的数据保存到环境变量中以供本次请求使用。
示例: 使用请求前脚本获取token并使用。
[attach]142494[/attach]
2.发送表单格式Post请求
Copy//构造一个登录请求const loginRequest = { url: 'http://115.28.108.130:5000/api/user/login/', method: "POST", body: { mode: 'urlencoded', // 模式为表单url编码模式 urlencoded: 'name=张三&password=123456' }};// 发送请求pm.sendRequest(loginRequest, function (err, res) { console.log(err ? err : res.text());});
输出信息可以通过点击Postman菜单栏 ->view-> Show Postman Console, 打开控制台查看(先打开控制台,再发送请求)。
[attach]142495[/attach]
3.发送JSON格式请求
Copy// 构造一个注册请求const regRequest = { url: 'http://115.28.108.130:5000/api/user/reg/', method: 'POST', header: 'Content-Type: application/json', //注意要在Header中声明内容使用的类型 body: { mode: 'raw', // 使用raw(原始)格式 raw: JSON.stringify({ name: '小小', password: '123456' }) //要将JSON对象转为文本发送 }};//发送请求pm.sendRequest(regRequest, function (err, res) { console.log(err ? err : res.json()); // 响应为JSON格式可以使用res.json()获取到JSON对象});
[attach]142496[/attach]
4.发送XML格式请求
发送XML格式和发送JSON格式差不多, 只要指定内容格式并发送相应的内容即可:
Copy//构造请求const demoRequest = { url: 'http://httpbin.org/post', method: 'POST', header: 'Content-Type: application/xml', // 请求头种指定内容格式 body: { mode: 'raw', raw: '<xml>hello</xml>' // 按文本格式发送xml }};//发送请求pm.sendRequest(demoRequest, function (err, res) { console.log(err ? err : res.json());});
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2