用途:对 lobe-ui 组件库及其文档站进行本地浏览器验证,用 agent-browser(经 CDP 驱动 Chromium)在 React Router 与 Vite 开发服务器上做可视化与程序化检查。
主要能力:启动或复用开发服务器并用 pnpm run docs:dev 运行;从 Vite 日志中发现实际端口而非假定固定端口;依据 site/content/compatibility.json 作为路径权威,查询文档 canonical 路径与独立 demo 的 legacyId 路由;用稳定选择器(aria-label、aria-current、data-standalone-demo、data-demo-appearance、data-demo-editable、data-demo-layout、data-live-state)进行交互与状态断言;注入 console.error、error、unhandledrejection 拦截器捕获运行时错误;最后采集浏览器错误与服务端日志。
必要用法:在后台启动服务器并保留日志,循环从日志中提取 http://localhost:[0-9]+ 并等待可访问;用 jq 从 compatibility.json 查出文档 pathname 与 demo 路径;打开页面后执行 agent-browser wait --load networkidle、snapshot -i,再按可访问名称点击或填写。每次导航或热更新后需重新 snapshot。组件变更的最小验证流程包括:打开 canonical 文档路径并确认标题、检查 [aria-current="page"] 侧边栏项、打开独立 demo 路由确认 [data-standalone-demo]、用可访问名称操作全部改动交互、验证明暗外观、布局受影响时验证桌面与移动视口、截图并 eval 检查语义状态、最后排空捕获的浏览器错误并查看开发服务器日志。清理时仅按日志端口终止该监听进程。
适用场景:组件交互与渲染检查、导航/API 表/搜索/目录验证,以及仅针对单个 demo 的隔离验证。
限制:无固定端口或由文件名推导独立 ID;hydration 警告、未捕获异常、未处理的 rejection 和模块加载失败均视为测试失败;仅截图不足以完成验证;不得终止无关的开发服务器或关闭全部浏览器会话。