// The test scripts below run after the api /login returns the response
const authCookie = pm.response.headers.idx(3).value
/*
pm.response.headers.idx(3) is equal to:
{key: "Set-Cookie", value: "xs=eyJhb; Max-Age=3600; Path=/; Expires=Fri, 18 Dec 2020 04:40:34 GMT; HttpOnly; Secure; SameSite=None"}
* /
const token = authCookie.substring(3, authCookie.indexOf(';'))
pm.collectionVariables.set('xs_value', token);
然后将此预请求脚本添加到整个集合:
// Scripts below runs before any request within a collection is sent
const token = pm.collectionVariables.get('xs_value')
pm.request.headers.upsert({ key: 'Cookie', value: `xs=${token}` })
4条答案
按热度按时间dhxwm5r41#
在全局变量中存储您要使用的cookie值。在登录请求的
Tests
选项卡中,写入将
Headers
选项卡中的值作为cookie沿着传递到get user请求中:js5cn81o2#
我尝试使用Ashutosh的答案,但得到了一个错误。我猜这是因为 Postman 的脚本API改变了?
无论如何,以下几点对我很有效:
1.在将返回您要保存的cookie的请求的
Tests
选项卡中,写入1.然后,如Ashutosh的答案中所述,通过将键设置为
cookie
并将相应的值设置为<your cookie name>={{<global variable name>}};
,将cookie添加到标头中。我在Postman sandbox API reference上找到了相关文档。
vc9ivgsu3#
(使用不带拦截器的原生Postman应用程序)传统的阅读cookie的方法对我不起作用
pm.cookies.get('<cookie name>')
。下面是一个解决方法,它可以自动将auth cookie附加到集合中的所有请求:然后将此预请求脚本添加到整个集合:
好好享受吧!
有关如何attach headers to requests的更多信息
inkz8wg94#
似乎有两个拦截器插件在谷歌浏览器。请确保安装的correct one。