
【免费下载链接】osEnables organizations to create and deploy customizable AI agents with support for multiple LLM providers, real-time chat, voice, document training, analytics, user management, SSO authentication, and embeddable widgets. Built with React 19, Redux Toolkit, Radix UI, and Tailwind CSS.项目地址https://gitcode.com/gh_mirrors/os69/os点击查看免费下载如果你要给一个功能复杂的 AI Agent 平台做回归测试应该测什么、怎么保证测到了开源项目ibl.aios给出了一个教科书级答案它用Playwright构建了以用户旅程Journey为核心组织的端到端测试E2E Testing体系目前共收录102 条旅程、近千个检查点Checkpoint覆盖从注册登录、实时聊天、语音通话到嵌入组件、可访问性的几乎全部用户场景。本文带你拆解这套 ibl.ai 端到端测试体系的四大设计精髓。ibl.ai 是什么为什么它的 E2E 测试这么重ibl.aios是一个让企业创建和部署可定制 AI Agent的开源平台多 LLM 供应商接入、实时聊天与语音、文档训练、数据分析、用户管理、SSO 认证、可嵌入网页的聊天组件技术栈为 React 19 Redux Toolkit Radix UI Tailwind CSS。功能面越宽改了 A 功能坏了 B 功能的风险越高。ibl.ai 的做法是把每一个用户可见的操作都变成一条可执行的回归检查并且用台账把测了什么公开化。设计一把用户旅程变成一等公民所有 E2E 用例集中在 e2e/journeys/ 目录以编号命名一条旅程对应一个 spec 文件、一个完整用户故事旅程示例覆盖内容01-authentication.spec.ts注册、登录、找回密码、错误凭据提示08-chat-file-upload.spec.ts拖拽上传、类型校验、多文件选择29-accessibility-wcag.spec.tsWCAG 2.1 AA 无障碍扫描75-dataset-upload-types.spec.ts16 种数据集资源类型逐一上传验证而真正让人眼前一亮的是覆盖台账e2e/COVERAGE.md —— 人类可读的检查点清单每个检查点就是一句具体的用户操作描述用[x]标记测试是否已落地e2e/coverage.json —— 机器可读的同一份台账汇总当前为102 条旅程、999 个检查点954 个已覆盖每个检查点都有明确状态covered已覆盖、pending计划中、not-reproducible环境无法复现已降级到单元测试、deprecated功能下线但保留记录。覆盖率 已覆盖 ÷ 有效总数。这样没测什么和测了什么一样透明测试缺口不再是黑箱。设计二多浏览器并行 登录状态一次复用[ e2e/playwright.config.ts ](e2e/playwright.config.ts) 是整个体系的总开关关键设计有四个四浏览器矩阵Chrome / Firefox / Safari / Edge 各生成独立 project同一套旅程跑遍所有浏览器登录只做一次auth.setup.ts完成真实登录后把 cookie 存为storageState后续所有测试项目直接复用省掉每条用例重复登录的开销依赖编排Playwright 的dependencies/teardown机制串起登录 → 数据快照 → 跑旅程 → 数据清算的完整流水线自动拉起被测环境webServer配置会自动启动开发服务器以及 e2e/utils/embed-harness-server.mjs 这个第二来源静态服务器——专门给嵌入组件Embed Widget测试提供真正的跨域 iframe 宿主页模拟客户网站的真实嵌入场景。CI 中自动重试 2 次、单 worker 保证稳定本地默认 4 个并行 worker 提速。运行方式非常直接pnpm test:e2e # 跑全部旅程 pnpm test:e2e:ui # 交互式 UI 模式 pnpm test:e2e:headed # 可见浏览器调试设计三四层零残留数据清理系统AI 平台的测试有个特殊难题测试会真的创建 Agent、项目等数据跑完不清理就会污染环境。ibl.ai 用四层保证跑完即清零任何一层都不是可选的统一 API 契约e2e/utils/dm-api.ts 从被测应用自身的真实流量中观测后端基址所有清理路径共用这一个解析逻辑绝不误伤生产环境创建即登记页面对象在应用确认创建成功的那一刻就把资源写入本次运行的台账e2e/.residue/runId.jsonl确保即使断言失败资源也已入册工作区只记账不删除并行 worker 之间不互相删数据避免竞态运行级快照 统一清算旅程全部跑完后teardown 一次性删除台账中的所有资源、逐个验证 404并打印前后数量对比CI 下开启严格模式后数量有差异直接判失败。兜底层还有 e2e/utils/mentor-sweeper.ts 等清扫器回收超过 30 分钟的历史残留——即使某次运行崩溃数据也不会永远留着。设计四覆盖守卫让漏测无法合入e2e/scripts/check-journey-coverage.mjs 是这套体系的守门员它校验四件事台账里的每个 spec 文件真实存在、新增页面路由必须映射到至少一条旅程、变更的源码文件能追溯到旅程、检查点总数不许回退。pre-push 钩子和 CI 工作流会用它拦截存在覆盖缺口的提交。CI 侧则基于 e2e/Dockerfile直接使用 Playwright 官方镜像 pnpm 锁定安装保证每次运行的浏览器行为一致。这些旅程到底在测什么随手几条就能感受到颗粒度旅程 6管理员管理 Agent改 LLM 供应商、应用自定义 CSS/JS、编辑系统提示词、删除 Agent——对应下面这张 Edit Agent 设置界面里的每个 Tab旅程 24记忆 Tab完整的记忆增删改 分类管理生命周期旅程 25MCP Tab为 Agent 添加、删除 MCP 连接器旅程 59电商积分用 Stripe 测试卡4242…走完整注册 → 扣费 → 余额归零 → 升级付费闭环旅程 9 / 9b语音用--use-file-for-fake-audio-capture注入真实音频测通真实 STT 往返链路。甚至测试用的素材本身都是真实文件比如旅程 75 上传的这张 PNG就是存放在 e2e/files/testing_folder/ 里被真实上传验证的测试资产。数据集上传E2E旅程真实使用的PNG测试素材文件此外还有一个兄弟套件 e2e-tauri/用 WebdriverIO 驱动 Tauri 桌面二进制补上 Playwright 和单元测试都覆盖不到的桌面 IPC 场景并且镜像了同一套覆盖台账——连桌面端也享受检查点即契约的待遇。实战指南如何运行并新增一个检查点本地运行详见 e2e/README.mdpnpm install npx playwright install cp e2e/.env.example e2e/.env.development # 填入 AUTH_HOST、MENTOR_NEXTJS_HOST 等变量 pnpm test:e2e新增检查点只需三步在 e2e/COVERAGE.md 对应旅程下追加一条用户操作描述在 e2e/journeys/ 的对应 spec 中写好 Playwright 用例优先复用 page-objects 与 SDK 官方 helper用例通过后把检查点标记为[x]——pre-push 钩子会替你把关防止台账上画了饼代码里没实现。小结ibl.ai 的 E2E 体系给出的启示可以浓缩成三句话用旅程思维组织用例用公开台账量化覆盖用四层清理和自动守卫把测试可信变成工程约束。这套以 102 条 Playwright 旅程、近千个检查点为骨架的端到端测试设计正是复杂 AI Agent 平台能够频繁迭代、放心交付的底气所在。赞分享【免费下载链接】osEnables organizations to create and deploy customizable AI agents with support for multiple LLM providers, real-time chat, voice, document training, analytics, user management, SSO authentication, and embeddable widgets. Built with React 19, Redux Toolkit, Radix UI, and Tailwind CSS.项目地址https://gitcode.com/gh_mirrors/os69/os点击查看免费下载相关推荐Automatisch测试体系Vitest单元测试与Playwright端到端测试Automatisch测试体系Vitest单元测试与Playwright端到端测试 概述 Automatisch作为开源Zapier替代方案构建了完善的测试后端前端工作流自动化流程编排Jellyswarrm 测试体系揭秘多服务器联邦代理的 Docker 集成测试与 Playwright 浏览器端到端测试实战Jellyswarrm 测试体系揭秘多服务器联邦代理的 Docker 集成测试与 Playwright 浏览器端到端测试实战 Jellyswarrm 是一个把Readest 端到端测试体系详解Playwright Web 与 WebdriverIO Tauri 双车道架构实战Readest 端到端测试体系详解Playwright Web 与 WebdriverIO Tauri 双车道架构实战 Readest 是一个跨平台的现代电子前端桌面应用移动开发跨平台创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考