postman安全使用及变量设置

语言: CN / TW / HK

点击关注“八戒技术团队”,阅读更多技术干货

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 在接口测试方面被广泛应用 也是为了促进学习成长 算是总结。 先到这吧 感谢阅读

希望以上内容能对有需要的人有所帮助。