邮递员 - 如何将响应 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 和所有其他属性都可以按预期访问。