尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

三步搞定 Bruno Cookie 持久化:API 测试会话避坑指南

三步搞定 Bruno Cookie 持久化:API 测试会话避坑指南 三步搞定 Bruno Cookie 持久化API 测试会话避坑指南【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/brunoBruno 是开源的 API 测试工具但重启应用后 Cookie 丢失、接口又回到未登录状态的情况很常见。搞懂 Bruno Cookie 持久化后会话数据会写进本地加密文件重启自动恢复不用再手动复制 Cookie。原理Bruno 把 Cookie 存在哪、怎么恢复Cookie 是服务端用来识别用户身份的一小段文本。Bruno 在运行期间用一个内存里的 Cookie Jar可理解为存放所有 Cookie 的容器管理会话每次变更后约 5 秒自动落盘到用户数据目录下的 cookies.json写入前会先经过加密处理。应用重启时读取并解密该文件之前建立过的会话接着就能用。实现逻辑在 packages/bruno-electron/src/store/cookies.js重启后 Cookie 仍在这一行为有自动化测试保障见 tests/cookies/cookie-persistence.spec.ts。三步启用 Bruno Cookie 持久化启动 Bruno点击状态栏底部的 Cookie 图标弹出 Cookie 管理面板。点击 Add Cookie按下表填写参数参数说明示例值domainCookie 只对哪个域名生效example.compath生效路径/keyCookie 名称sessionvalueCookie 值abc123secure仅 HTTPS 请求时携带勾选httpOnly禁止脚本读取该 Cookie勾选点击 Save 保存。关闭应用再重新打开面板里这条 Cookie 依然存在之后发请求会自动带上。 除了手工添加请求响应里返回的 Set-Cookie 也会自动存入 Cookie Jar。手工添加适合发第一个请求之前就要固定会话的场景。进阶组合多环境切换与流水线集成多环境切换适用时机同一套接口在测试、预发、生产各有一份会话。 操作要点用 Bruno 的环境变量为每个环境各建一套配置集合的 Environments 页Cookie 按 domain 区分切环境后发请求前核对 Cookie 面板里的 domain 是否对得上避免把生产会话发到测试环境。环境行为的参考测试见 tests/environments/。CI/CD 自动化适用时机流水线跑集合回归需要会话连贯且每次结果可复现。 操作要点Bruno CLI 的 run 命令默认会自动保存并回传 Cookie想让每次运行从干净会话开始加--disable-cookies即可。参数定义见 packages/bruno-cli/src/commands/run.js。问题自检按现象排查现象重启后面板里 Cookie 变空了 → 确认两次启动用的是同一个用户数据目录检查该目录下 cookies.json 是否存在、应用是否有写入权限。现象面板里有 Cookie但请求没带上 → 核对 Cookie 的 domain 与请求域名是否一致含子域再看 path 是否覆盖请求路径。现象勾了 secure 却没发出去 → 请求走的是 HTTP带 secure 标记的 Cookie 只在 HTTPS 下携带。现象cookies.json 的加密密钥损坏Cookie 值读不出来 → Bruno 会降级恢复域名列表仍会显示对应测试 tests/cookies/corrupted-passkey.spec.ts确认无敏感信息后可重置 Cookie 存储重建。现象CLI 跑出来的会话不连贯 → 检查是否误加了--disable-cookies它会关闭自动保存与回传。最佳实践清单只保留测试必需的 Cookie定期清理避免过期会话干扰断言含会话信息的集合不要提交到公共仓库cookies.json 也不要进版本控制自动化场景用 CLI 跑同一份集合保证本地与流水线的会话行为一致排障时先查 cookies.json 文件本身再逐一核对 domain、path、secure 三个匹配条件Bruno 的设计细节可参考官方中文文档docs/readme/readme_cn.md【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表