相信很多人都喜欢用postman对某个接口进行测试。因为负责的项目有用过postman做接口自动化测试,决定记录一下使用postman对一个接口不同请求参数返回不同结果的测试方法。
请求参数:
在请求体中,将需要参数化的值用{{参数名}}代替,我这里的参数是json格式,所以直接在对应的值替换上{{参数名}}即可
新建一个csv文件,将请求参数对应的字段名作为表头一列列输入,并举例几个数据,这里一行则为一条请求,不同的请求返回数据不同,返回断言在后面讲。
断言:
在tests中编写断言。postman在右边snippet中提供了很多种类型的判断函数,可以参考
常用的验证返回code是否为200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
检测JSON中的某个值是否等于预期的值
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
在这里,我引用snippet中 response body:json value check。将response转化为jsondata,提取出需要验证的orderid。
var jsonData = pm.response.json();//将response作为json数据存入jsondata
var orderid = jsonData.seatbid[0].bid[0].orderid;//提取出orderid
由于请求参数中,不同的数据会返回不同YoukuOrderId,因此这里需要先获取对应的YoukuOrderId,然后将提取的orderid和excel表格中的YoukuOrderId进行匹配
var YoukuOrderId = pm.iterationData.get("YoukuOrderId");//从excel中提取YoukuOrderId
pm.expect(orderid).to.eql(YoukuOrderId);将预期值和实际值进行匹配
点击collection的三角形按钮,通过run弹窗配置文件信息,将youku.csv选中为测试数据,点击run,就可以在run results里查看到执行结果了