在 postman 中使用 GET 和下面发布的 URL,我能够将有问题的整个响应 header 及其所有数据存储在 var 中,对我来说问题是如何验证该 var 内的数据片段
这是我的网址 http://localhost/v1/accounts?pageNumber=1&pageSize=2
[
使用 postman 我可以在 var 中获取上述内容
var XPaginationData = postman.getResponseHeader(pm.globals.get("PaginationHeader"));
pm.globals.set("XPaginationData", XPaginationData);
有没有办法获取存储在不同变量中的响应 header X-Pagination中的各个值以便稍后断言
在 postman 中使用它
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 的顺序不一致,因此您需要找到正确的 header 才能从 X-Pagination
header 中提取数据
关于Postman - 如何将响应 header 中的多个值存储在 var 中或只是能够看到它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48751479/