我是 JSON 和 Postman 的新手(截至昨天)。
我正在尝试做一些非常简单的事情,我创建了一个 GET 请求,该请求在 JSON 响应中拉入表单列表。我想接受这个响应并获取第一个“id”标记并将其放入一个变量中。
我正在使用全局变量,但希望尽可能使用集合变量。无论哪种方式,这里都是我正在做的。
我尝试了几件事,最近一次是:
var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("id", jsonData.args.id);
Run Code Online (Sandbox Code Playgroud)
还有这个:
pm.test("GetId", function () {
var jsonData = pm.response.json();
pm.globals.set("id", jsonData.id);
});
Run Code Online (Sandbox Code Playgroud)
响应代码如下所示:
{
"forms":[
{
"id":"3197239",
"created":"2018-09-18 11:37:39",
"db":"1",
"deleted":"0",
"folder":"151801",
"language":"en",
"name":"Contact Us",
"num_columns":"2",
"submissions":"0",
"submissions_unread":"0",
"updated":"2018-09-18 12:02:13",
"viewkey":"xxxxxx",
"views":"1",
"submissions_today":0,
"url":"https://xxx",
"data_url":"",
"summary_url":"",
"rss_url":"",
"encrypted":false,
"thumbnail_url":null,
"submit_button_title":"Submit Form",
"inactive":false,
"timezone":"US/Eastern",
"permissions":150
},
{
"id":"3197245",
"created":"2018-09-18 11:42:02",
"db":"1",
"deleted":"0",
"folder":"151801",
"language":"en",
"name":"Football Draft",
"num_columns":"1",
"submissions":"0",
"submissions_unread":"0",
"updated":"2018-09-18 12:11:54",
"viewkey":"xxxxxx",
"views":"1",
"submissions_today":0,
"url":"https://xxxxxxxxx",
"data_url":"",
"summary_url":"",
"rss_url":"",
"encrypted":false,
"thumbnail_url":null,
"submit_button_title":"Submit Form",
"inactive":false,
"timezone":"US/Eastern",
"permissions":150
}
]
}
Run Code Online (Sandbox Code Playgroud)
这将得到第一个id:
pm.globals.set('firstId', _.first(pm.response.json().forms).id)
Run Code Online (Sandbox Code Playgroud)
每次都会得到数组中的第一个,因此它会设置一个不同的变量,因为响应发生了变化。
在test您创建的几乎没有,但需要参考下井的水平到forms数组:
pm.test("GetId", function () {
var jsonData = pm.response.json()
pm.expect(jsonData.forms[0].id).to.equal("3197239")
pm.globals.set("id", jsonData.forms[0].id)
})
Run Code Online (Sandbox Code Playgroud)
的[0]被引用在该阵列中的第一对象的第一ID。例如[1]会得到第二个等等。
您目前无法使用pm.*API设置集合级别变量- 这些只能手动添加并使用pm.variables.get('var_name')语法引用。
编辑:
在新版本的桌面应用程序中,您可以使用pm.collectionVariables.set().
| 归档时间: |
|
| 查看次数: |
6478 次 |
| 最近记录: |