3步搞定 Bruno Cookie 持久化:API 测试会话管理新手完整指南
3步搞定 Bruno Cookie 持久化API 测试会话管理新手完整指南【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno想象一下这个场景你刚用 Bruno 登录了测试环境的接口拿到了一串有效的会话 Cookie服务器用来记住你已登录的小型文本凭证结果关掉应用去吃个饭回来再点请求——401 未授权又得重新走一遍登录流程。Bruno 的 Cookie 持久化功能就是为了解决这个问题它把发请求时收到的 Cookie 加密存到本地下次启动自动带回让你的 API 测试会话睡一觉醒来还在。读完这篇指南你能独立完成手动录入 Cookie、验证重启后是否生效、以及在会话出问题时快速定位原因全程不需要读一行源码。开工前 3 分钟先搞清楚 Bruno 的 Cookie 罐子动手之前先建立一个正确的心智模型后面操作才不会迷路。Cookie 罐子Cookie JarBruno 内部维护一个共享的 Cookie 罐你在任意请求里收到的 Set-Cookie 响应头会自动进罐后续请求访问同域名时自动带上。这就是登录一次后面全通的底层机制。存在哪所有 Cookie 以加密形式写进用户数据目录下的cookies.json文件而不是放在你的集合文件夹里。这意味着它们是机器级的——换台电脑或换个系统用户Cookie 不会跟着走。加密方式首次启动时 Bruno 会生成一把随机密钥passkeyCookie 的值value用它加密后落盘避免会话凭证在磁盘上明文躺着。写入时机有个5 秒缓冲为避免高频请求时反复读写磁盘Bruno 会把落盘操作延迟约 5 秒再执行应用正常关闭时会立即写入。这一点直接关系到后文的避坑提醒。这套加密与延迟落盘的完整逻辑可以对照源码理解Cookie 存储加密实现。2分钟上手3步添加 Bruno Cookie 并验证重启存活下面用问题 → 操作 → 验证的三步走把流程完整跑一遍。第 1 步打开 Cookie 管理面板启动 Bruno找到窗口底部的状态栏点击其中的Cookies图标即可弹出 Cookie 面板。此时如果罐子里是空的界面中央会显示 No cookies found 提示和 Add Cookie 按钮。面板支持按域名折叠分组、按域名搜索Cookie 多了也好找。第 2 步手动添加一条会话 Cookie点击Add Cookie在表单里逐项填写。以一条典型的登录会话为例字段含义示例值填写建议domainCookie 归属的域名api.acme.com从浏览器 DevTools 里照抄即可path生效路径/拿不准就填/keyCookie 名称token保持与接口返回的原始名称一致valueCookie 值eyJhbGci.***直接粘贴不用引号secure仅 HTTPS 传输勾选生产/预发环境建议勾选httpOnly禁止脚本读取勾选与来源保持一致填完点Save列表中对应域名分组下出现这条记录说明已经写进内存中的 Cookie 罐了。第 3 步重启应用确认 Cookie 活了下来完全退出 Bruno 再重新打开再次点开 Cookies 面板——刚才那条api.acme.com的记录仍然在就代表跨会话持久化成功。这一步 Bruno 自己也有自动化用例在做同样的事先添加、退出、再启动、断言域名仍存在可参考 Cookie 跨重启持久化测试。Bruno Cookie 进阶用法Edit Raw 与域名级清理熟练之后有两个技巧能显著提高效率。用 Edit Raw 模式整段粘贴。如果你直接从浏览器复制了一整行 Cookie 头不想拆成一个个字段可以在 Add Cookie 弹窗里打开右上角的Edit Raw开关切换成原始文本输入按keyvalue; key2value2的格式整段填入例如tokenraw-abc123; Domainapi.acme.com; Path/; Secure; HttpOnly保存后 Bruno 会自动解析出域名、属性并归入对应分组。这个模式的实际行为同样有测试覆盖见 原始模式录入用例。按域名一键清理。某个环境换了一套密钥、旧会话全部失效时不用逐条删展开对应域名的分组点击分组头部的垃圾桶图标在确认弹窗中选Clear All即可清掉该域名下的全部 Cookie。单条删除则用每条记录行尾的删除按钮。这些交互逻辑的源头在 Cookie 管理面板组件面板的搜索、分组、批量操作都围绕它实现。Bruno Cookie 丢失快速排查3 个常见坑位如果某天发现明明存过的 Cookie 不见了按下面顺序排查基本能覆盖 90% 的情况。是否离得太近就重启了前面提过 5 秒的落盘缓冲。如果两次请求之间应用立刻被强制退出比如直接杀进程最后几秒收到的 Cookie 可能还没来得及写盘。正常点退出按钮退出不会有问题因为关闭时会强制立即写入。是否换过机器或用户Cookie 存在系统级用户数据目录不随集合文件夹走。把集合拷给别人请求配置都在Cookie 罐是空的——这是设计使然不是 Bug。需要共享会话时让对方重新登录一次或用 Edit Raw 手动补录。加密密钥是否损坏极端情况下cookies.json里的 passkey 损坏时Bruno 不会崩溃它降级处理面板里仍能看到域名和条目只是值可能显示为空。官方专门有测试模拟了这个场景确认面板依旧可用可对照 损坏密钥恢复测试。此时最稳妥的做法是清理该域名的 Cookie 后重新登录重建罐子。最后自查4 条确认你的会话真的粘住了把下面 4 个问题当清单过一遍全部能答是就说明这套会话管理已经稳定了重启应用后Cookies 面板里还看得到目标域名的记录重新点发登录后的第一个受保护请求响应不再是 401域名、key、value 三要素和浏览器 DevTools 里的原始值一致secure / httpOnly 勾选状态与来源环境匹配HTTPS 环境未勾 secure 会导致 Cookie 不被带上Bruno 的 Cookie 持久化机制简单却完整内存里一个共享罐子磁盘上一份加密存档界面上一个随时可查的面板。配合集合里的登录请求和受保护请求按顺序组织好你的 API 测试就能告别每次重启重新登录的循环了。【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考