expect
Expect 是一个基于 AI 的自动化测试工具,通过真实浏览器验证代码变更。它的工作流程分为三步:扫描 Git 未提交更改或分支差异 → 由 AI 代理生成测试计划 → 在 Playwright 驱动的真实浏览器环境中自动执行测试。这种设计解决了传统单元测试难以覆盖真实交互场景、端到端测试配置复杂等问题,特别适合需要频繁验证前端变更的开发者和测试人员使用。
工具的核心价值在于将测试流程完全自动化:开发者只需运行单条命令,系统就能根据代码差异自动生成可执行的测试步骤,并利用真实浏览器环境(包括已登录的会话状态)完成验证。对于需要处理动态内容或依赖复杂业务流程的 Web 应用,这种基于 AI 代理的测试方案能显著降低测试维护成本。
技术亮点包括:1)结合 Claude Code/Codex 等 AI 模型实现自然语言到测试步骤的转换 2)支持无头模式 CI 集成 3)完整录制测试过程便于回溯分析。相比传统测试框架,Expect 更注重通过智能分析减少人工编写测试用例的工作量,尤其适合敏捷开发场景下的快速验证需求。
使用场景
一个前端开发者正在修复公司官网的登录流程,需要确保新添加的“记住我”功能不会破坏原有注册和密码找回流程,同时要验证移动端适配效果。
没有 expect 时
- 需要手动在Chrome、Safari和移动端模拟器逐个测试登录/注册流程,耗时2小时仍可能遗漏边缘情况
- 现有自动化测试框架无法捕捉动态验证码输入框的位置变化,导致测试失败
- 无法验证真实用户会话状态,每次测试都需要重新登录不同账号
- 测试报告仅显示"pass/fail",定位问题时需要重新复现操作步骤
- 分支合并前需人工比对diff文件,容易忽略样式表的微小变动
使用 expect 后
- 输入
expect-cli -m "测试登录/注册流程及移动端适配"后,AI自动生成包含12个步骤的测试方案(含不同分辨率测试) - 通过真实浏览器执行测试,自动适配动态验证码框位置变化,准确率提升40%
- 保留已登录的测试账号会话状态,连续测试效率提高60%
- 自动生成带有操作录屏的测试报告,点击失败步骤即可回放完整操作过程
- 自动扫描branch diff精准定位样式表变更,针对性生成视觉回归测试用例
通过将AI代理与真实浏览器结合,expect实现了从代码变更到用户体验的全链路验证,使前端测试效率提升3倍的同时将误报率降低至5%以下。
运行环境要求
- 未说明
未说明
未说明

快速开始
Expect
让 AI 代理在真实浏览器中测试你的代码。
一条命令即可扫描未暂存的更改或分支差异,生成测试计划,并在真实浏览器中运行。
查看演示 →
安装
npx -y expect-cli@latest init
使用方式
Usage: expect-cli [options] [command]
Options:
-m, --message <instruction> 用自然语言描述要测试的内容
-f, --flow <slug> 通过 slug 重用已保存的测试流程
-y, --yes 跳过计划审核,立即运行
-a, --agent <provider> 指定使用的 AI 代理提供商(claude 或 codex)
-t, --target <target> 测试目标:unstaged(未暂存)、branch(分支)或 changes(更改)(默认: changes)
--verbose 启用详细日志
-v, --version 打印版本号
-h, --help 显示帮助信息
Commands:
init 全局安装 expect 并配置技能
Examples:
$ expect-cli 打开交互式终端用户界面(TUI)
$ expect-cli -m "test the login flow" -y 立即生成计划并运行
$ expect-cli --target branch 测试所有分支更改
$ expect-cli --target unstaged 测试未暂存的更改
设置 `NO_TELEMETRY=1` 可禁用分析事件收集。
工作原理
┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐
│ Scan changes│────▶│ Generate plan│────▶│ Run in browser│────▶│ Report │
│ (git diff) │ │ (AI agent) │ │ (Playwright) │ │ (pass/fail)│
└─────────────┘ └──────────────┘ └──────────────┘ └─────────┘
Expect 会读取你的未暂存更改或分支差异,将其发送给 AI 代理(Claude Code 或 Codex CLI),生成逐步测试计划来验证更改。你可以在交互式 TUI 中审核并批准该计划,然后代理会在真实浏览器中执行每个步骤 - 使用你的真实登录会话,无需手动设置认证。每个会话都会被录制,你可以回放整个过程。
使用 -y 参数可跳过计划审核,在 CI 中无头模式运行。成功时退出码为 0,失败时为 1。
资源与贡献
想试用?查看 我们的演示。
发现 Bug?前往我们的 问题跟踪器 我们会尽力帮助。我们也欢迎提交 Pull Request!
我们要求所有贡献者遵守 行为准则 的条款。
许可证
FSL-1.1-MIT © Million Software, Inc.
版本历史
expect-sdk@0.0.262026/04/05expect-cli@0.0.262026/04/05ci-pr-812026/04/05ci-pr-422026/04/04ci-pr-752026/04/03ci-pr-732026/04/03ci-pr-682026/04/02常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。
