最近工作中参与的项目。同事们用postman测试接口,所以学习了一些基本使用方法。写篇文章记录下。
postman 简介
官网 https://www.getpostman.com/
独立安装包 https://www.getpostman.com/apps
Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。
使用
主界面
发送一个请求:
左侧是历史请求,中间主界面输入url,下方body中显示返回结果。
第一个标签params是请求的参数键值对。
第二个标签是登陆身份校验的配置。
第三个标签是请求头。
第四个标签是请求体。
第五个标签Pre-request Script 是请求前执行的脚本。
第六个标签Tests是请求结束后执行的脚本。
Pre-request Script与Tests 的使用
- 在发送request之前,编写pre-request script,定制化request。
- 收到response之后,用test script,处理返回的数据。
下图右侧提供了常用的代码片段。
例如需要在每次请求之前请求获取token,可以在pre-request中编写下图中的代码。其中csrffToken是本次测试请求的一个参数,
参数的value按图中占位表示取环境变量的值。
配置环境变量:
预处理代码的含义即,发送请求获取csrfToken,将值设置为环境变量。本次请求的csrfToken值取到这个值。这样实现这两个请求的链式测试。
Tests中需要在例如
pm.test("login",function(){
})
中编写代码。第一个参数是自定义的测试名称,第二个参数是测试内容脚本
pm.test("login",function(){
//登录后刷新token
console.log('----start------')
pm.expect("token").to.include("token");
// tests["Response time is less than 200ms"] = responseTime < 200;
// pm.response.to.have.body("杭州顶呱呱物流有限公司");
var data = JSON.parse(responseBody);
if (data.data.token) {
tests["Body has token"] = true;
postman.setEnvironmentVariable("token", data.data.token);
}
else {
tests["Body has token"] = false;
}
})
Tests[]对测试结果判断,返回true 或 false.
先写这些。