1.单接口的调试与验证:如下在Tests中添加验证
tests[]中文字表示验证项的描述,验证的项可以有responseCode,responseBody,responseTime等
对返回的JSON格式参数进行验证:
1 var json =JSON.parse(responseBody);2 tests["response Jsonvalue Check"]=json.message==="huhansan";
2.请求参数化,变量格式为{{VariableName}}
未引入参数数据文件时可以在Pre-request Script中给参数赋值,用于调试,Pre-request Script区的代码会在调用接口之前运行.
右侧snippets各种函数提示使用很方便:点击即可,然后修改其中参数
3.接口之间的关联,如获取返回的sessionid
1 jsondata=postman.getResponseHeader("set-cookie");2 console.log(jsondata);//控制台窗口点左下角按钮3 data=jsondata.split(";");4 key=data[0].split("=");//根据sessionid位置决定data[n]5 postman.setGlobalVariable("sessionid",key[1]);//保存到全局变量中,在要使用的接口中引用即可
保存返回json格式中某个值:
1 var json =JSON.parse(responseBody);2 postman.setGlobalVariable("message",json.message);//message为键值对的KEY
4.批量集合运行:首先要把接口保存到对应集合中
点击run来到Collection Runner窗口:Iterations:循环次数.根据文件中数据行数而定 Delay:延迟多少毫秒 ;log responses:对哪些请求记录响应日志 ;Data:就是参数化文件了.支持TEXT/CSV/JSON格式.Keep Variable values勾选时如果在运行脚本期间改变了环境或全局变量的值则会保存下来.不勾选则保持当前的值.
运行结果:
可以把预期结果参数化放到数据文件中. 在Pre-request Script中先把预期结果读出来保存到全局变量中
postman.setGlobalVariable("ExpectResponseBody",data.ExpectResponseBody)//data为数据文件名,response为其中字段,再在tests中进行处理比对
感觉postman做接口自动化有一定的局限性.一个集合中多个接口的参数放在一行数据.文件中要设置多个响应字段;不同接口不同场景下的参数数据需要组合在一起.又对应不同的响应结果.