Expect浏览器智能测试工具深度解析给AI编码Agent装上QA超能力的终极指南【免费下载链接】expectExpect tests your agents code in a real browser项目地址: https://gitcode.com/gh_mirrors/expect6/expectExpect是一款让 AI 编码 AgentClaude Code、Codex、Cursor 等在真实浏览器中自动测试代码的智能测试工具。它读取你的 git 变更、自动生成测试计划、用 Playwright 驱动浏览器执行并检查性能、安全、可访问性和 UI 细节——相当于给你的编码 Agent 装上 QA 超能力。整篇文章将带你快速理解它是什么、如何安装、怎么用以及它的底层设计亮点。为什么需要浏览器智能测试工具如果你用过 AI 编码 Agent大概率遇到过这样的场景Agent 自信地说改好了功能正常但你手动打开页面一看——表单提交后没跳转、按钮 hover 状态错位、控制台一堆报错。传统测试框架Playwright、Cypress需要手写脚本、维护选择器、编写断言而通用computer-use类工具依赖截图和鼠标坐标又慢又不稳。Expect 走的是第三条路对比维度传统测试框架Computer-use 工具Expect测试编写手写脚本选择器无需编写自动从代码变更生成驱动方式DOM API截图坐标Playwright DOM 自动化登录态处理手动配置手动配置自动提取本机浏览器 Cookie适用对象人类开发者通用 Agent编码 Agent 专属 QA 能力一键安装Expect 快速上手步骤安装过程极其简单核心思路是两步走先让 Agent 拉取初始化脚本再在 Agent 里运行/expect命令。安装 CLI在终端执行npm install -g expect-cli或直接让你的 Agent 执行官方初始化脚本添加技能运行npx expect-skilllatest add把 Expect 技能文件注入你的 Agent开始测试在 Claude Code、Codex 等 Agent 会话中输入/expect查看结果Expect 生成测试计划 → 你确认 → 子 Agent 在真实浏览器中执行 → 发现问题后 Agent 自动修复并复测。技能文件本体位于 packages/expect-skill/其中 packages/expect-skill/README.md 详细定义了 Agent 的测试行为规范包括未经验证不得声称完成这一核心铁律。四大核心能力Expect 到底测什么Expect 不只是点点按钮看看页面它内置了四条检查线性能Core Web VitalsLCP、INP、CLS、长动画帧LoAF检测甚至能定位到具体是哪段脚本阻塞了主线程安全检查 npm 依赖漏洞、CSRF 攻击面、混合内容等设计坏掉的 hover 状态、死链、按钮错位等 UI 问题完整性缺失的元数据、无效链接、空状态未填充数据等应用级缺陷。亮点设计像真实用户一样登录一个很实用的细节很多后台页面必须登录才能测试。Expect 会直接读取你本地 Chrome / Firefox / Safari 的 Cookie 数据库把真实登录态注入测试浏览器——不用写登录脚本也不用准备测试账号。相关实现集中在 packages/cookies/src/支持跨平台读取不同浏览器的 Cookie 存储格式。此外它通过 ARIA 可访问性快照而非截图让 Agent看懂页面每个元素有唯一 ref 编号Agent 像操作无障碍树一样精准点击、填表速度远快于基于图像的视觉定位方案。这套能力由 packages/browser/src/ 提供snapshotact两个核心函数是理解其设计的入口文档见 packages/browser/README.md。MCP 模式8 个工具把浏览器变成 Agent 的手除了 CLI 模式Expect 还内置了一个 MCP 服务器把浏览器能力暴露为标准 MCP 工具任何支持 MCP 的 AgentClaude Code、Cursor、VS Code、Gemini CLI 等都能直接调用。8 个工具各司其职工具作用open打开浏览器导航到 URL支持 Cookie 注入、跨浏览器引擎playwright直接执行 Playwright 代码收集数据screenshot截图 / ARIA 快照 / 带标注元素的截图console_logs抓取控制台报错network_requests自动标记 4xx/5xx、重复请求performance_metrics采集 Web Vitals 性能数据accessibility_auditWCAG 无障碍审计close关闭浏览器并保存录屏各主流 MCP 客户端的配置示例整理在 docs/mcp.md照着复制粘贴即可。CI 集成让每个 PR 都过一遍浏览器测试Expect 支持 CI 模式加上--ci参数或执行add github-action命令即可为每个 PR 自动生成浏览器测试工作流。CI 模式下自动切换无头模式、跳过 Cookie 提取、自动批准测试计划并强制 30 分钟超时。这样Agent 写代码 → Expect 验代码 → 不过就打回的闭环就跑在了你的 CI 流水线上。进阶玩法expect-sdk 用自然语言写测试如果你希望把测试结果用在代码里CI 脚本、自定义工具可以试试 Alpha 阶段的 TypeScript SDK测试用例直接写成一句英文描述AI 负责导航、交互和验证。const result await Expect.test({ url: http://localhost:3000/login, tests: [valid credentials redirect to the dashboard], });SDK 还支持会话复用、自定义工具测试中调数据库造数、流式进度事件和 Playwright 互操作完整文档见 packages/typescript-sdk/README.md。项目架构速览Expect 是一个 pnpm monorepo职责划分非常清晰模块路径职责CLI 终端界面apps/cli/Ink 构建的交互式 TUI无状态渲染调度中枢packages/supervisor/状态管理、Agent 生命周期、git 操作LLM 后端packages/agent/对接各家编码 Agent浏览器自动化packages/browser/Playwright 自动化 rrweb 录屏Cookie 提取packages/cookies/读取本机浏览器登录态共享模型packages/shared/领域模型与通用工具常见问题 FAQQ它会代替 Playwright 吗不冲突。Expect 底层就用 Playwright只是把写脚本这件事交给了 AI。你依然可以在 SDK 中混合使用原生 Playwright 做确定性步骤。Q支持哪些 AgentClaude Code、Codex、GitHub Copilot、Gemini CLI、Cursor、OpenCode、Factory Droid支持自动检测已安装的 Agent用-a参数可手动指定。Q支持移动端测试吗官方表示即将支持桌面浏览器测试已完全可用。Q数据会上传到云端吗不会。整个流程在你本机运行Cookie、代码变更都不离开你的机器。总结Expect 解决了 AI 编码工作流中最后一公里的信任问题让 Agent 用真实浏览器证据来证明自己改对了。从一条/expect命令到 CI 全自动回归再到自然语言 SDK它提供了从个人开发到团队协作的完整路径。如果你正在用 Claude Code 或 Codex 写前端代码强烈建议花 10 分钟装一个试试——给 Agent 装上 QA 超能力之后改完即验证会成为你的新常态。【免费下载链接】expectExpect tests your agents code in a real browser项目地址: https://gitcode.com/gh_mirrors/expect6/expect创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
