postman安全使用及变量设置
点击关注“八戒技术团队”,阅读更多技术干货
Postman 工具常被用作接口测试 , 但我们常常忽略接口的批量执行 , postman 左侧有个 collections 的 tab, 可以将接口进行分组,而且可以将分组以后的接口进行批量的执行, 从而进行接口的自动化 ,是一个非常赞的功能。
我们常常习惯登录后再使用 postman , 虽然登录后相互协作上的使用更加方便 , 但身在互联网 , 为了安全 , 一般不建议登录使用 。 因此 , 需要将接口数据导出来进行共享存储 , 再导入进行使用 。
01
导出接口
选择 需要导出的接口,按下图所示操作
02
导入接口
有导出就有相应的导入功能,按下图操作
选择导出文件的所在文件夹,进行导入即可
03
设置变量
批量执行的接口,不可避免有很多重复的参数,我们将其设置成变量,所有的接口都可以使用这个变量,使得接口测试更加灵活,如下图所示操作:
正常的测试都有一个场景,接口测试之间也是有依赖的,如接口测试都依赖于 cookie 获取信息,或者批量测试的时候,后面的接口需要前面接口的返回值等, postman 也是支持的,批量执行接口结合测试脚本,使用起来就比较简单了。
04
动态设置全局变量
以cookie为例,将其设置成全局变量,以便于其他需要cookie的接口进行调用
Set-Cookie有多个值时取值示例代码:
var responseH = pm.response.headers;//返回object类型所有响应header
var jsonData = JSON.stringify(responseH);//转换成json格式
var result = JSON.parse(jsonData);//转换成数组对象
var Cookie_new='';
//遍历
for(var i=0;i<result.length;i++){< span="">
if(result[i].key===("Set-Cookie")){
console.log(result[i].value);
// 截取,代码水平有限,将就看
var str = result[i].value.substr(0, result[i].value.indexOf(" "));
// 拼装
Cookie_new +=str;
console.log("Cookie_new的值:"+Cookie_new);
}
else{
continue;
}
}
pm.clearGlobalVariable("Cookie");//清除存在的全局变量cookie
// 将cookie设置为全局变量
pm.globals.set("Cookie",Cookie_new);
// 断言
pm.test("Set-Cookie is present", function () {
pm.response.to.have.header("Set-Cookie");
});
pm.test("获取登录成功与否信息", function () {
pm.expect(pm.response.text()).to.include("快捷登录成功");
});
调用的接口可以按如下方式设置 ( 变量格式 : {{ 变量 }} )
使用过程中我们也需要获取请求的值,或者请求的结果, post 有几个内置的变量可以直接获取:
· request 获取请求的参数,包括头和请求体 · responseHeaders 返回值的header
· responseBody 返回值的body
· responseCode 返回值的http code
除此之外,还有几个内置的全局动态环境变量:
· {{$guid}}: 生成一个guid
· {{$timestamp}}: 获取当前时间戳
· {{$randomInt}}: 获取一个动态整数
为什么要写这篇文章呢 ?
因为 postman 在接口测试方面被广泛应用 , 也是为了促进学习成长 , 算是总结。 先到这吧 , 感谢阅读 ~
希望以上内容能对有需要的人有所帮助。
- 【技术分享】微服务开发的幸福感,是如何提升的?
- 【技术分享】强烈推荐小白必看的Java反射
- 【技术分享】高效编程之告别996基础篇
- 【技术分享】同源策略和跨域的简单理解
- 【技术分享】SSR解决方案探索
- 【技术分享】教你如何一键生成加密渠道包
- 【技术分享】如何解决开发中常见的跨域问题?
- 【技术分享】猪八戒网DevOps之Java组件安全检测
- 【Tips】如何在UIView中释放监听
- 前端权限验证控制与实现
- 教你用Java开发一个简单的JVM
- 如何利用ClickHouse搭建OLAP?
- 你必学的Vue.js的进阶教程
- 如何用Python Selenium Execl实现UI自动化
- 如何设计一款高性能分布式锁,实现数据的安全访问?
- 【技术分享】历经16年猪八戒网如何成功实现双活流量架构
- 编码风格不一,代码杂乱无章?5招解决你的痛点
- postman安全使用及变量设置
- VueJS异步与并发管理
- Jmeter工具之接口测试