快捷搜索: 王者荣耀 脱发

接口测试: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、测试结果:

经验分享 程序员 微信小程序 职场和发展