好的,我几天前才开始使用邮递员。我正在尝试编写一个测试,发布某个api调用并按预期获得响应。我的问题围绕邮递员功能,我无法通过自己尝试了解如何操作,谷歌搜索等找到。
我有一个帖子,帖子的正文中包含一个密钥。我给它的值为18例如。钥匙的名字是“天”。在测试中,我试图验证响应如下:
{
"meta": {
"status": "OK",
"code": 200
},
"errors": [],
"data": [
{
"day": "18"
}
]
}
基本上,api调用更新数据库并将数据库中的密钥指定为api调用中给出的值。因此,day = 18被传递到api端点,并且响应重申该日确实已更改为给定的值,即18。
那么如何在剧本中使用正文的“day = 18”进行验证?我不想在剧本以及正文中硬编码18,当然这也是会工作。 有没有办法在脚本中使用预定义的键值作为自己的变量?
基本上我希望能够做到这一点:
pm.test("Day Updated", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.day).to.eql(POST.Body.Key[day]);
});
我刚刚编造POST.Body.Key[day]
,但基本上这就是我想要做的。 有可能吗?
答案 0 :(得分:0)
在lapply
函数中尝试lapply(test, function(x) x[!grepl("\\d+", x)])
,以便从响应中获取正确的数据。
jsonData.data[0].day
值引用错误 - 您可以将值存储在环境变量中,并使用expect
来引用它。
在POST正文中,您可以使用相同的环境变量语法而不是硬编码的eql
值。只需将pm.environment.get('my_value')
添加到您具有18
值
有关变量的更多信息,请访问https://www.getpostman.com/docs/v6/postman/environments_and_globals/variables