告别手写Playwright脚本Expect如何用AI生成测试计划并自动测试你的代码【免费下载链接】expectExpect tests your agents code in a real browser项目地址: https://gitcode.com/gh_mirrors/expect6/expectExpect是一款让 AI 代理在真实浏览器中测试代码的开源命令行工具。它自动读取你的 git 代码变更由 AI 生成测试计划再通过 Playwright 在真实浏览器中执行——彻底省去手写脚本、维护选择器和编写断言的工作。Expect 可无缝接入 Claude Code、Codex、Cursor 等主流编程代理全流程在本机运行并支持 CI 集成。为什么手写Playwright脚本总让你头疼如果你用过 Playwright 或 Cypress大概都经历过这套循环写脚本每个功能流程都要手写点击、输入、等待逻辑修选择器页面一改版[data-testid...]和 CSS 选择器成批失效补断言要手动想清楚每一步该验证什么造登录态私有页面测试得先模拟登录Cookie 管理麻烦覆盖不全只测了改动的主路径相邻功能悄悄回归而用Expect这件事变成一句话的事。核心思路来自它的 FAQREADME.md与其写脚本、维护选择器、拼装断言不如让 Expect 读取代码变更直接在真实浏览器里自动测试——相当于给你的编程代理装上 QA 超能力。两种方式的直观对比对比维度手写 Playwright 脚本Expect AI 测试计划脚本编写每个流程手写AI 根据 diff 自动生成选择器维护手动维护易失效基于无障碍树引用自动适配测试断言手动设计每步自带预期结果登录态模拟登录或手工导 Cookie自动从本机 Chrome/Firefox/Safari 提取回归覆盖只测你写到的路径主动扩展 2~8 条相邻流程结果反馈红绿报告通过/失败状态 会话录像回放从 git diff 到可执行测试计划的三步流程Expect 的完整工作流只有四步CLAUDE.md在终端运行expect或在代理里执行/expect工具扫描未暂存的变更或分支 diffAI 生成一份测试计划你在交互式终端界面里审阅并批准代理在真实浏览器中执行计划结果以 通过/失败 状态 会话录像呈现第一步扫描代码变更圈定测试范围执行器会先收集 git 上下文当前分支、改动文件列表、最近提交记录以及一份 diff 预览作为 AI 的测试假设executor.ts。你可以通过-t, --target参数指定范围unstaged只测未暂存的本地改动branch测整个分支相对主分支的变更适合合并前审查changes默认把已提交和未提交的改动视为一个整体第二步AI 生成结构化测试计划这是告别手写脚本的关键一步。AI 不会生成 Playwright 代码而是输出一份结构化的测试计划包含标题title、理由rationale和一组步骤。每个步骤都有四要素定义见 models.tsinstruction具体操作指令如在搜索框输入关键词并提交expectedOutcome预期结果如结果列表在 1 秒内刷新且无报错routeHint可选的路由提示帮执行器快速定位页面statuspending→active→passed / failed / skipped实时流转计划生成后终端 TUI 会展示给你确认加-y可跳过确认直接执行。第三步用QA 工程师心智执行计划执行阶段Expect 给 AI 的系统提示词开篇就是一句狠话prompts.ts你是一名在真实浏览器中测试代码变更的 QA 工程师。你的任务是找出开发者漏掉的 bug而不是确认主路径能用。它还会按变更范围自动调整测试策略prompts.ts单提交先验证该提交的本意再测 2~4 条相邻流程本地改动先跑你要求的流程再补 2~3 条同代码路径的回归分支审查目标 5~8 条流程每个被改动的路由/组件/数据路径单独验证并优先测安全与权限边界未授权访问、权限缺失、死链如果某些改动文件本来就没有测试覆盖提示词会明确要求优先浏览器测试这些文件——这正好补上了手写脚本时代最容易被遗忘的盲区。真实浏览器执行Playwright 真实Cookie双保险测试计划批准后Expect 交给 Playwright 驱动的真实浏览器执行而不是靠截图和鼠标坐标这是它和通用 computer-use 代理的本质区别无障碍树快照每次操作后抓取页面 a11y 树每个元素带e1、e2这样的 ref点击/输入直接按 ref 操作页面微调也不怕browser/README.md真实登录态从本机 Chrome、Firefox、Safari 的配置文件提取 Cookie 注入测试浏览器私有页面、后台管理页也能测CI 环境用--no-cookies跳过会话录像基于 rrweb 全程录制失败时可直接回放现场多维检查不止功能——性能长动画帧、INP、LCP、安全依赖、CSRF、样式hover 状态、死链、元数据完整性都在检查范围内结果在终端以绿色✓/红色✗逐条呈现失败的步骤会附会话录像和摘要。发现bug后的闭环修复→重跑→CI把关Expect 不是跑一次就完的工具而是一个闭环代理自动修复Expect 发现的问题会回报给你的编程代理由它直接改代码自动重跑验证修复后重跑同一份测试计划确认通过计划支持一键resetForRerun所有步骤状态清零重来models.ts保存流程复用常用测试流可存为 saved flow下次用-f slug直接回放UI 变了 AI 会自动适配flow-storage.tsCI 集成用--ci或add github-action命令让每个 PR 自动跑无头测试——自动批准计划、跳过 Cookie 提取、30 分钟超时兜底总结Expect 让浏览器测试变成一句话的事你过去要做的用 Expect 之后手写 Playwright 脚本说一句话/expect 自然语言指令维护选择器与断言AI 按 diff 自动生成含预期结果模拟登录态自动提取本机浏览器 Cookie人工发现回归主动扩展相邻流程 会话录像手动盯 CIGitHub Action 自动测每个 PR如果你正在用 Claude Code、Codex 或 Cursor 写代码值得花 10 分钟装上 Expect 试试——把 QA 的活儿交给 AI你只管写功能。项目总览与 FAQREADME.mdCLI 完整用法与参数表apps/cli/README.mdAI 提示词与测试策略prompts.ts执行编排逻辑packages/supervisor/src/浏览器自动化内核packages/browser/MCP 集成文档docs/mcp.md【免费下载链接】expectExpect tests your agents code in a real browser项目地址: https://gitcode.com/gh_mirrors/expect6/expect创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考