例子:接口:https://www.v2ex.com/api/nodes/show.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、测试结果: