postman 进阶技巧
- 2020 年 7 月 8 日
- 筆記
- postman 自动化测试
-
cookie
清除缓存 -
code
生成接口自动化测试脚本 -
响应部分
- pretty 响应以json或xml显示
- raw 响应以文本显示
- preview 以HTML网页行驶显示
-
断言
断言:用于判断接口请求是否成功
最少2个:
– 状态断言:200
//状态断言:
//断言状态码为200
pm.test(“Status code is 200”, function () {
pm.response.to.have.status(200);
});– 业务断言:可以有多个
//断言返回的结果中包含一个字符串
pm.test(“Body matches string”, function () {
pm.expect(pm.response.text()).to.include(“access_token”);
});
//检查返回的JOSN数据的值。
pm.test(“Your test name”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.expires_in).to.eql(7200);
});
//断言返回的结果等于一个字符串
pm.test(“Body is correct”, function () {
pm.response.to.have.body(“{“errcode”:0,”errmsg”:”ok”}”);
});
//断言响应头中是否包含Content-Type
pm.test(“Content-Type is present”, function () {
pm.response.to.have.header(“Connection”);
});
//断言接口的请求时间少于200ms
pm.test(“Response time is less than 200ms”, function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
- 环境变量
- 全局变量
- 获取响应信息的值
- 获取json值
var jsDate = JSON.parse(responseBody);
console.log(jsDate.data.tokenId);
pm.globals.set(“new_token”,jsDate.data.tokenId);- 通过正则表达式提取 (.+?)
var access_token = responseBody.match(new RegExp(‘”tokenId”:”(.+?)”‘));
pm.globals.set(“new_token”,access_token);
console.log(access_token);
8.内置参数
{{timestamp}} 服务器的时间戳 {{randomInt}} 随机数0-1000的随机数
{{$guid}} 随机字符串
9.非GUI执行
- 通过正则表达式提取 (.+?)
- 获取json值
-
导出接口用例
- export 接口用例
- 导出环境变量 json
- 导出全局变量 json
-
newman 在Linux运行
newman:专为postman而生,执行非GUI方式
命令:
newman run “e:\yongli.json” -e “e:\huanjing.json” -g “e:\quanju.json” -r cli,html,json,junit –reporter-html-export “e:\result.html”-
- -e 前面的参数是接口用例的位置
- -g 前面的参数是环境变量的位置
- -r前面的参数是全局变量的位置
- –reporter-html-export 后面的参数是生成的测试报告的位置
-
-
集成Jenkins