邮递员 - 如何将响应 header 中的多个值存储在 var 中或只能够看到它们
Postman - How to store multiple values from a response header in a var or just be able to see them
在邮递员中使用 GET 和下面发布的 URL,我能够将整个响应 header 及其所有数据存储在一个 var 中,我的问题是如何我要验证 var
中的数据吗
这是我的URL
http://localhost/v1/accounts?pageNumber=1&pageSize=2
[
使用邮递员我可以在 var
中获得以上内容
var XPaginationData = postman.getResponseHeader(pm.globals.get("PaginationHeader"));
pm.globals.set("XPaginationData", XPaginationData);
有没有办法获取响应中的各个值 header X-Pagination 存储在不同的 var 中以便稍后断言
在邮递员中使用这个
pm.globals.set("XPaginationData", JSON.stringify(pm.response.headers));
console.log(JSON.parse(pm.globals.get('XPaginationData')));
console.log(JSON.parse(pm.globals.get('XPaginationData'))[4].value);
我得到
例如,我将如何获得 "TotalCount"
大编辑:
感谢同事,解决方案是这样
//Filtering Response Headers to get PaginationHeader
var filteredHeaders = pm.response.headers.all()
.filter(headerObj => {
return headerObj.key == pm.globals.get("PaginationHeader");
});
// JSON parse the string of the requested response header
// from var filteredHeaders
var paginationObj = filteredHeaders[0].value;
paginationObj = JSON.parse(paginationObj);
//Stores global variable for nextpageURL
var nextPageURL = paginationObj.NextPageLink;
postman.setGlobalVariable("nextPageURL", nextPageURL);
您可以在保存环境变量时使用 JSON.stringfy()
,然后使用 JSON.parse()
访问您需要的不同属性或 属性。
如果您像这样为响应 header 设置全局变量:
pm.globals.set('PaginationHeader', JSON.stringify(pm.response.headers))
然后你可以像这样从变量中获取任何数据:
console.log(JSON.parse(pm.globals.get('PaginationHeader'))[1].value)
该图显示了这在 Postman 中的工作原理。控制台中返回的 header 的顺序不一致,因此您需要找到正确的顺序以从 X-Pagination
header
中提取数据
看起来像是 Postman 本身的问题。
唯一对我有用的解决方案是再次对 JSON 进行字符串化和解析,如下所示:
var response = JSON.parse(JSON.stringify(res))
执行此操作后,headers 和所有其他属性都可以按预期访问。
在邮递员中使用 GET 和下面发布的 URL,我能够将整个响应 header 及其所有数据存储在一个 var 中,我的问题是如何我要验证 var
中的数据吗这是我的URL http://localhost/v1/accounts?pageNumber=1&pageSize=2
[
使用邮递员我可以在 var
中获得以上内容var XPaginationData = postman.getResponseHeader(pm.globals.get("PaginationHeader"));
pm.globals.set("XPaginationData", XPaginationData);
有没有办法获取响应中的各个值 header X-Pagination 存储在不同的 var 中以便稍后断言
在邮递员中使用这个
pm.globals.set("XPaginationData", JSON.stringify(pm.response.headers));
console.log(JSON.parse(pm.globals.get('XPaginationData')));
console.log(JSON.parse(pm.globals.get('XPaginationData'))[4].value);
我得到
例如,我将如何获得 "TotalCount"
大编辑:
感谢同事,解决方案是这样
//Filtering Response Headers to get PaginationHeader
var filteredHeaders = pm.response.headers.all()
.filter(headerObj => {
return headerObj.key == pm.globals.get("PaginationHeader");
});
// JSON parse the string of the requested response header
// from var filteredHeaders
var paginationObj = filteredHeaders[0].value;
paginationObj = JSON.parse(paginationObj);
//Stores global variable for nextpageURL
var nextPageURL = paginationObj.NextPageLink;
postman.setGlobalVariable("nextPageURL", nextPageURL);
您可以在保存环境变量时使用 JSON.stringfy()
,然后使用 JSON.parse()
访问您需要的不同属性或 属性。
如果您像这样为响应 header 设置全局变量:
pm.globals.set('PaginationHeader', JSON.stringify(pm.response.headers))
然后你可以像这样从变量中获取任何数据:
console.log(JSON.parse(pm.globals.get('PaginationHeader'))[1].value)
该图显示了这在 Postman 中的工作原理。控制台中返回的 header 的顺序不一致,因此您需要找到正确的顺序以从 X-Pagination
header
看起来像是 Postman 本身的问题。
唯一对我有用的解决方案是再次对 JSON 进行字符串化和解析,如下所示:
var response = JSON.parse(JSON.stringify(res))
执行此操作后,headers 和所有其他属性都可以按预期访问。