各位小伙伴大家好, 今天为大家带来postman实战接口测试详细教程
一.通过接口文档集合抓包分析接口
通过fiddler抓包获取到注册接口URL地址及相关参数数据,并通过接口文档分析接口参数内容及参数说明, 如有必要的依赖条件必须进行梳理, 如token等
Fiddler抓包注册接口请求与响应:
接口文档关于注册接口的描述与参数说明:
二.通过postman发起请求并获取响应结果
通过第一步获取到的相关数据,按照请求的沟通, 分别填写对应的请求行,请求头,请求体相关数据, 发起请求
注意: 通过接口文档与抓包, 我们观察到接口的请求参数传参方式 Content-Type: application/x-www-form-url-encoded, 因此我们在选择数据时,必须在Body中选择该类型进行参数传递。
Content-Type: 传参方式类型
1.form-data: 接口类型为文件上传类型时, 可以选择Body中的 form-data, 此时请求头中Content-Type: multipart/form-data
2.x-www-form-url-encoded: post请求默认传参方式, 传输数据类型为 key1=value&key2=value…, 此时请求头中Content-Type: application/x-www-form-url-encoded
3.text/json格式数据传参: 选择Body中的Raw, 再选择json/text即可
Json格式必须以: {key: value, key:value…}格式进行传参
4.get请求参数写在URL的?之后, postman中也可以通过Params模块进行传参
三.设置环境变量引用
postman中环境变量: Environments --> 设置新的环境 --> 添加项目的基础接口URL地址
环境变量的引用方式: {{变量名}}
在请求中通过{{host}}引用环境变量中的数据即可
也可以通过Tests模块, 使用Javascript脚本进行环境变量的设置与获取。
四: postman中的Tests模块:
4.1 获取响应数据
通过Javascript脚本获取响应文本数据,并在conlose控制台进行输出
//获取postman响应文本数据
varresp = pm.response.text();
//控制台输出 获取到的响应数据
console.log(resp);
// 从响应数据中提取需要的key的值
var userid = resp.json().userid;
// 通过代码添加到环境变量中 key: id, value: userid
pm.environment.set("id",userid);
// 从环境变量中获取指定key的值
Var id = pm.environment.get("id");
4.2 断言
方式1: Status code: Code is 200
//断言HTTP协议响应状态码为: 200
pm.test("断言HTTP协议响应状态码为200", function () {
pm.response.to.have.status(200);
});
方式2: Response body: Contains String
//断言响应文本中包含预期的字符串数据
pm.test("断言响应文本中包含:登录成功", function () {
pm.expect(resp).to.include("登录成功");
});
方式3: Response body: JSON value check
// 断言预期结果中的指定key的值与预期数据一致
pm.test("断言userid:"+uid, function () {
pm.expect(userid).to.eql(((uid).toString()));
});
方式4: Response body : Is equal to a string
// 断言响应文本值与预期数据完全一致
pm.test("Body is correct", function () {
pm.response.to.have.body("系统提示: 登录成功");
});
五.批量执行
构造外部参数化文件, 参数引用使用 {{列名}}进行调用;
点击runner,将collection文件中需要运行的接口拖入, 浏览器外部参数化文件,设置参数化, 勾选 Save responses保留响应结果
执行结果
六.通过newman执行
将脚本文件和环境变量文件导出, 导出后问.json格式的脚本文件
安装newman,通过newman命令行进行执行
newman run api.json -e api-env.json -d data.txt -n 3
run collection脚本文本
-e 指定环境变量文件
-d 指定外部参数化数据文件
-n 指定迭代次数
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!