告别手写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),仅供参考
企业数字化 ERP 产品动态
相关推荐
Python 连接 MySQL 踩坑实录:从 pymysql 报错到 TaoToken 统一 Key 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 18:28:45
Atlas 300V 24G上部署YOLOv5:从环境搭建到性能调优全指南 先说点实在的:这两年边缘AI落地,手里要是没摸过几块“加速卡”,都不好意思说自己在做推理部署。我前段时间刚好在项目里把YOLOv5目标检测模型跑到了华为Atlas 300V 24G加速卡上,中间踩了不少坑,也把整个部署链路理清楚… · 2026/9/26 18:28:36
Intel oneAPI 2024 HPC toolkit 离线静默安装:非交互式自定义组件配置指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 19:06:55
OBS VirtualCam配置失败的底层原因与系统级修复指南 1. 为什么“3分钟搞定”是个危险的幻觉——VirtualCam配置失败的真实原因拆解OBS VirtualCam这个功能,表面看就是点一下按钮、勾一个选项、选一个设备名,三分钟?我第一次信了。结果花了整整六小时——不是调试,是反复重装、查日志… · 2026/9/26 19:06:49
高效代码审查实战:告别形式主义,回归工程价值 1. 聊聊代码审查:它从来不只是“找茬”代码审查这件事,在软件开发圈子里算是个常青话题。隔一段时间就有人跳出来喊“代码审查没用,浪费时间”,过一阵子又有人分享“我们团队用代码审查挽救了项目质量”之类的经验贴。我在一线写代… · 2026/9/26 19:06:49
Boundary Scan Cell 深度拆解 BGA 封装把焊点藏在芯片肚子底下,针床测不到,飞线也够不着。IEEE 1149.1 的解法是在每个 I/O 引脚旁边塞一个微型扫描单元,串成链,靠 TDI/TDO 就能观测和驱动所有引脚。这个单元就是 Boundary Scan Cell,简称 BSC。很多… · 2026/9/26 19:06:43
2026年苹果专用磁吸充电宝选购指南,南孚传应成假期出游优选 国庆假期出行需求持续走高,随身电子设备的续航补给成为出行刚需,充电宝也成为旅途必备装备。不少消费者在选购时,希望产品既能适配苹果生态,同时兼容华为、荣耀等安卓设备,且符合民航、轨道交通携带规范。在容量取舍上… · 2026/9/26 19:06:43
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46