接口测试:postman之使用json文件实现数据驱动测试
例子:接口:
请求方式:get
接收参数:name
要求:实现参数name自动传入不同值,并检查接口每次返回值中name必须是传入参数的name值?
接口返回类型如下:
{ "avatar_large": "//cdn.v2ex.com/navatar/8613/985e/90_large.png?m=1553141687", "name": "python", "avatar_normal": "//cdn.v2ex.com/navatar/8613/985e/90_normal.png?m=1553141687", "title": "Python", "url": "https://www.v2ex.com/go/python", "topics": 11154, "footer": "", "header": "这里讨论各种 Python 语言编程话题,也包括 Django,Tornado 等框架的讨论。这里是一个能够帮助你解决实际问题的地方。", "title_alternative": "Python", "avatar_mini": "//cdn.v2ex.com/navatar/8613/985e/90_mini.png?m=1553141687", "stars": 7682, "root": false, "id": 90, "parent_node_name": "programming" }
操作步骤:
1、postman中设置环境变量name,其值为变量node_name:
2、编写json文件,实现node_name参数化:
[{"node_name" : "python"},{"node_name" : "php"},{"node_name" : "java"}]
注:有多个传入参数时,格式如下:
[{"name" : "python","id" : "90"},{"name" : "php","id" : "91"},{"name" : "java","id" : "91"}]
3、Tests中编写断言脚本:
//tests["Statue code is 200"] = responseCode.code === 200; var jdata = JSON.parse(responseBody); //获取环境变量name的值,并定义变量node_name来接收该值 //var node_name = pm.environment.get("node_name"); //console.log(node_name) //data.node_name表示从测试数据中获取name的值,jdata.name表示从返回值的json数据中获取name的值 tests["返回值中的name必须等于传入参数中的name值"] = jdata.name === data.node_name
4、打开postman的collection Runner界面,选择测试数据文件json,设置迭代次数,数据格式等,点击Run即可
5、测试结果:
上一篇:
5款热门的远程控制软件,让你事半功倍