以下是一个使用 Postman 进行接口测试且涉及 cookie 鉴权的案例:
案例背景:
假设我们有一个简单的 Web 应用,其中包含用户登录接口和获取用户信息接口。用户登录成功后,服务器会在响应中设置一个包含鉴权信息的 cookie,后续获取用户信息接口需要携带该 cookie 才能正常访问。
步骤如下:
一、用户登录接口测试
- 在 Postman 中创建一个新的请求,设置请求类型为 POST,URL 为登录接口地址,例如
https://example.com/api/login。 - 在请求体中,根据登录接口要求填写用户名和密码等登录信息,例如:
{
"username": "testuser",
"password": "testpassword"
}
- 发送请求后,在 Postman 的 “Cookies” 面板(如果看不到,可以在视图菜单中找到并打开)中查看服务器返回的 cookie 信息。假设返回的 cookie 名为
auth_cookie,其值为abcdefg123456(实际情况中会是复杂的加密鉴权信息)。
二、设置 cookie 环境变量(可选但推荐)
- 为了方便在后续接口测试中使用该 cookie,我们可以将其设置为环境变量。在 Postman 的 “Tests” 选项卡中添加以下代码:
pm.environment.set("auth_cookie", pm.response.headers.get("Set-Cookie"));
这段代码的作用是将响应头中 Set-Cookie 的值(即我们的鉴权 cookie)设置为名为 auth_cookie 的环境变量。
三、获取用户信息接口测试
- 创建一个新的请求,设置请求类型为 GET,URL 为获取用户信息接口地址,例如
https://example.com/api/userinfo。 - 在请求的 “Headers” 选项卡中,添加一个名为
Cookie的头,其值为{{auth_cookie}},这样 Postman 在发送请求时就会带上之前获取并设置为环境变量的鉴权 cookie。 - 发送请求,如果 cookie 鉴权成功,应该能够获取到相应的用户信息,例如:
{
"user_id": 123,
"user_name": "testuser",
"email": "testuser@example.com"
}
四、验证 cookie 鉴权的有效性
- 可以尝试修改
auth_cookie的环境变量值为一个错误的值,然后再次发送获取用户信息接口请求,此时应该收到鉴权失败的响应,例如返回状态码为 401 Unauthorized 且响应体提示鉴权错误信息。
7598

被折叠的 条评论
为什么被折叠?



