一、postman环境变量的配置
环境变量和全局变量
环境变量:当前环境有效
全局变量:全局有效
上诉是用图形界面设置环境变量,其实利用代码也可以设置:
二、postman获取部分响应信息
正则表达式获取
var body = pm.response.text() 先获取网页的所有文本
body.match(new RegExp(“a(.+?)b”)[1] a是左边界b是右边界,1表示不取边界,0表示取边界
json表达式 返回的响应正文必须是json数据 :
var json_obj = pm.rsponse.json() / / 定义一个json对象 获取网页的json代码
json_obj.key //根据json的键名或者属性值,此累方法用于map格式
json_obj.数组名【下标值】.键名 //对于array格式,一个键对应很多值,只能用下标去确定具体的值
三、断言函数
postman设置断言:
Status code:Code is 200:验证请求的响应状态码是否为200
Status code:Code name has string:验证请求的响应信息
Response body: Contains string:响应正文包含指定字符串
Response body: Is equal to a string:响应正文是否等于指定字符串
Response body: JSON value check:响应正文为json时,检查指定key对应值
Response time is less than 200ms:检查响应时间是否为200毫秒以内
这些断言都可以直接在右侧工具栏快速设置
注意,该处测定的是文本,如果是json代码,则需要用Response body: JSON value check:响应正文为json时,检查指定key对应值
根据上诉自动生成的断言函数,其实我们可以依葫芦画瓢,大概猜出断言函数的写法
pm.test(“设置测试用例名称”,funciton(){
chai.js断言语法;
});
断言语法包含:
pm.expect(2<5 && 3<6).to.be.true; //判断是否为true
pm.expect(‘hello’).to.equal(‘hello’); //判断是否相等
pm.expect(‘foobar’).to.have.string(‘bar’); //判断是否包含字符串
pm.expect(‘foobar’).to.match(/^foo/); //判断是否包含,支持正则表达式
我们现在可以自己设置一个断言函数,判断abc123456是否包含123
pm.test(“测试断言函数”,function(){
pm.expect(‘abc123456’).to.have.string(‘123’);
});
四、postman关联设置–接口依赖
把上一个接口的返回值作为下一个接口的参数
就是把上一个接口的截取值设置为全局变量,在下一个参数栏中用{{全局变量名称}}调用
五、多接口执行测试
测试用例相同时,最后一次结果会覆盖之前的结果
附加:如何设计接口测试用例
接口测试用例:一般是对参数进行测试用例 然后post/get
参数设计用例:等价类、边界值
接口的业务功能实现:场景法
接口测试流程
1.接口测试文档设计
2.熟悉并分析接口设计文档:
1)熟悉接口的业务功能(这个接口是干嘛的)
2)熟悉接口信息(请求类型,请求地址,传递参数,返回值)
3)接口的异常码
3.设计接口测试用例
4.通过postman录入测试用例:
1)项目名称–模块名–子模块名–接口文件夹
2)根据需要配置环境变量和全局变量
3)把excel中的用例进行录入