postman接口测试
postman界面:
postman日常操作: **全局变量:**把共同使用的变量放到全局变量中,调用时只需要用{{变量名}}即可,适用于所有的接口。
环境变量的使用: 公司中至少有是三个环境:开发环境,测试环境,验收环境; postman中可以演示不同的环境; 设置环境变量: 环境变量只适用于自己的环境,其他环境不适用: 错误环境下的环境变量使用:
接口实现关联: 接口测试,如何实现接口关联; 一:
把要获取的值转为json格式的数据
var jsondata = pm.response.json()
打印日志
console.log(jsondata)
用json表达式提取值
var doer = jsondata.result.city
打印日志
console.log(doer)
设置一个全局变量
pm.globals.set("域名",doer);
二:
var res = responseBody;
consloe.log(res)
var jsonobj = JSON.parse.responseBody
var z.result.provinces
pm.globals.set("jg",z);
接口测试中如何实现上一个接口的返回值作为下一个接口的参数。
设置断言;引用时:通过{{}}在路径中使用: 将第一个接口设置断言,把返回体弄成json,用json表达式进行取值,将这个值设置为全局变量,在另一个接口中使用全局变量,实现接口关联. **断言:**用于预期结果和实际结果进行对比
tests对断言的几种方式
pm.test("验证状态码", function () {
pm.response.to.have.status(200);
});
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("北京");
});
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.error_code).to.eql(0);
});
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Etag");
});
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
动态参数: postman中自带的内置方法;和fiddler一起使用
经常用于不能重复的数据;
{{$timestamp}}:生成当前时间的时间戳
{{$randomInt}}:生成0~1000的随机数
{{$guid}}:生成随机的guid字符串 用例的批量执行: 数据驱动: 将测试数据保存本地,一次性运行; 在参数里面的数据文件值和取全局变量一致,使用{{}},在断言里面取数据文件的值使用:data.字段名。
txt文档中的光标要放在最后一个字母后面,不要下拉一行,不然运行时会报错
|