乐闻世界logo
搜索文章和话题

How to store and reuse cookies in Postman?

1 个月前提问
1 个月前修改
浏览次数8

1个答案

1

在Postman中存储和重复使用Cookie是一个重要功能,特别是在需要处理Web服务和API测试时,常常需要保持用户的登陆状态或者跟踪会话信息。下面是如何在Postman中有效管理Cookie的步骤:

1. 自动存储Cookie

Postman在默认情况下会自动存储返回的Cookies。这意味着当你发送一个请求到服务器,并且响应中包含Set-Cookie头部时,Postman会自动将这些Cookies保存在其Cookie管理器中。这些Cookies将用于随后对相同域的请求。

2. 查看和管理Cookie

要查看和管理Postman中存储的Cookies,你可以:

  • 点击Postman界面右上角的Cookies图标(一个小饼干的图标)。
  • 这将打开Cookie管理器,列出所有存储的Cookies。
  • 在这里你可以查看Cookie的详情,如值、域、路径、过期时间等。
  • 你也可以手动添加、修改或删除Cookies。

3. 使用环境变量存储和使用Cookies

虽然Postman可以自动处理Cookies,但在一些复杂的场景下,你可能需要手动设置Cookies。这时可以使用环境变量来存储特定的Cookie值,并在需要时在请求头中使用它们:

  • 首先,在“环境”设置中创建一个环境变量,例如命名为myCookie
  • 在发送请求获取Cookie后,可以手动将Cookie值复制到该环境变量。
  • 在后续请求中,可以在请求头中设置Cookie头部,并使用{{myCookie}}来引用环境变量中的Cookie值。

4. 脚本自动化处理Cookies

Postman的Pre-request Script和Tests脚本功能允许你编写JavaScript代码,以编程方式处理Cookies:

  • Pre-request Script:在发送请求前执行,可以用来从环境变量读取Cookie并添加到请求头中。
  • Tests:在接收响应后执行,可以用来解析响应中的Set-Cookie头,并更新环境变量中的Cookie值。

示例

假设登录API响应中包含了一个名为sessionToken的Cookie,我们需要在后续的请求中使用它:

javascript
// Tests脚本获取并存储Cookie var cookies = pm.response.headers.get('Set-Cookie'); pm.environment.set('sessionToken', cookies); // Pre-request Script使用存储的Cookie var token = pm.environment.get('sessionToken'); pm.request.headers.add({ key: 'Cookie', value: `sessionToken=${token}` });

这个方式可以灵活地处理各种需要维护Cookie状态的测试场景,从而使API测试更加接近真实用户的行为模式。

2024年8月12日 14:03 回复

你的答案