实现步骤:
案例三:
1. 请求IHRM项目的登录接口,请求数据( {"mobile":"13800000002", "password":"123456"} )
postman高级用法:
管理用例:
postman环境设置:
postman断言:
选择断言代码片段:
// 判断响应状态码是否等于 200pm.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( "string_you_want_to_search" );});例如:pm.test("响应体中包含字符Success", function () {
pm.expect(pm.response.text()).to.include("Success");
});
// 判断响应体数据是否等于指定的字符串pm.test( "Body is correct" , function () {pm.response.to.have.body( "response_body_string" );});
// 校验响应的 JSON 数据pm.test( "Your test name" , function () {var jsonData = pm.response.json();pm.expect(jsonData.value).to.eql( 100 );});例如:pm.test("Msg的值是为操作成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.Msg).to.eql("操作成功");
});
// 判断响应头中是否包含指定的头标签pm.test( "Content-Type is present" , function () {pm.response.to.have.header( "Content-Type" );});
- 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
- 在环境与环境之间可以定义重复的变量
- 一个环境可以包含多个环境变量
- 常见环境分类:开发环境、测试环境、生产环境
全局变量
- 1. 手动设置
- 2. 代码设置: pm.globals.set("var_name", value);
环境变量
- 1. 手动设置
- 2. 代码设置: pm.environment.set("var_name", value);
请求前置脚本:
- 请求参数中包含一个随机数或者时间戳
- 请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
- 要获取某个请求的响应结果数据,可以通过在‘Tests’标签页中编写JavaScript脚本来实现
// 获取 JSON 格式的响应数据var jsonData = pm.response.json();
- 多个请求之间可以使用全局变量或环境变量来传递数据
// 把数据保存到全局变量中
pm.globals.set("city", city);
- 获取某个全局变量的值:{{var_name}}
案例
批量执行测试用例
2、弹出Collection Runner窗口,点击运行按钮
3、查看测试用例运行结果
读取外部文件实现参数化
选择数据文件
在测试集运行“Collection Runner”窗口中,点击“Select File”按钮选择定义好的数据文件
// 获取数据文件中的用户名参数var username = data.username;
- 需求:批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确
- 接口地址: http://cx.shouji.360.cn/phonearea.php?number=13012345678
- 部分测试数据:
手机号 : 13012345678 运营商 : 联通手机号 : 13800001111 运营商 : 移动手机号 : 18966778899 运营商 : 电信
- CSV格式
phone,sp13012345678, 联通13800001111, 移动18966778899, 电信
- JSON格式
[{ "phone" : "13041092162" , "sp" : " 联通 " },{ "phone" : "13820003536" , "sp" : " 移动 " },{ "phone" : "18911236688" , "sp" : " 电信 " }]
实现步骤截图 断言中的实际结果的data是代指文件
快速将web端的接口复制到postman上:
1、打开F12,找到自己需要的接口,鼠标右击选择Copy,选择Copy all as cURL(bash)
2、打开postman,选择Import,弹框选择Raw test,然后鼠标右击,选择paste把刚刚选择的接口数据复制到这个页面,点击continue,点击import,接口就被导入到postman软件中,然后正常运行操作即可
postman显示返回的base64图片验证码:
目前返回的是一个base64的图片地址,正常来说需要复制地址在浏览器上查看,现在我们直接通过断言去实现
参考文章:postman中如何显示返回的base64图片验证码_postman获取图片验证码_昵称老重复的博客-CSDN博客
var jsonData=JSON.parse(responseBody);
var template ='<html><img src="{{data}}"/><html>';
pm.visualizer.set(template,jsonData)
运行完后在body的Visualiza里面查看,如果返回正确的话你可以看到Visualize右边有个绿色的小点,点击就可以看到图片内容啦
获取断言数据后进行拼接: