Expect 是什么?
Expect 是一个开发者工具,可让智能体在真实浏览器中测试您的代码。它会分析您当前的工作(例如,未暂存变更或分支差异),生成测试计划,并在实时浏览器中运行该计划。
核心目的是将代码变更转化为一组可操作的浏览器测试,从命令行执行,以便您在工作中验证行为。
主要特性
- 一键从代码变更生成测试计划:扫描未暂存变更或分支差异,确定测试内容,减少手动编写测试计划的努力。
- 智能体生成的测试计划:基于检测到的变更生成测试计划,为浏览器执行提供结构化的起点。
- 在实时浏览器中运行:在真实浏览器环境中执行生成的计划,而非仅使用静态检查。
- 命令行初始化和使用:包含通过
expect-cli包提供的init工作流。 - 基于技能的可扩展性:支持添加技能(例如,通过
npx skills add … --skill expect命令添加技能),表明可扩展额外功能。
如何使用 Expect
- 安装并初始化:运行
npx -y expect-cli@latest init来设置 Expect。 - 添加技能(如果需要):使用
npx skills add https://github.com/millionco/expect --skill expect添加相关技能。 - 运行一键流程:使用工具的主要命令扫描未暂存变更或分支差异,生成测试计划,并在实时浏览器中执行。
使用场景
- 验证少量本地变更:当有未暂存变更时,运行 Expect 扫描变更内容,生成测试计划,并在真实浏览器中执行。
- 审查前测试功能分支:针对分支差异,运行 Expect 从分支差异生成浏览器测试计划。
- 自动化浏览器测试工作流:使用 Expect 让智能体生成计划并在实时浏览器中运行,从而减少手动测试规划。
- 通过技能扩展功能:如果希望 Expect 通过技能机制支持额外行为,可使用提供的 CLI 命令添加技能。
常见问题
Expect 如何决定运行哪些测试?
Expect 扫描未暂存变更或分支差异,然后基于该变更集生成测试计划。
Expect 在真实浏览器中运行测试吗?
是的。所述工作流会在实时浏览器中运行生成的测试计划。
如何开始使用?
您可以从 npx -y expect-cli@latest init 开始,然后使用站点内容中显示的 npx skills add ... --skill expect 命令添加技能。
Expect 可以用于不同代码状态(未暂存 vs 分支差异)吗?
页面明确提到扫描未暂存变更或分支差异作为一键流程的输入。
Expect 中的“技能”是什么?
技能似乎是通过 CLI(使用 npx skills add ... --skill ... 命令)添加的组件。页面内容演示了从 GitHub URL 添加技能。
替代方案
- 基于浏览器的端到端测试框架 (E2E):在真实浏览器中运行测试的工具通常要求您直接编写和维护测试脚本,而 Expect 专注于从代码差异生成测试计划。
- 静态分析和 linting 工具:这些工具可在不运行浏览器的情况下捕获问题。Expect 的方法特别针对智能体生成的计划在浏览器中的执行。
- 变更聚焦的 CI 测试自动化:基于变更文件决定测试内容的解决方案在工作流上类似,但可能不会生成并执行相同风格的浏览器测试计划。
- 智能体 QA/测试工具:类别级别的替代方案也可能使用智能体规划和执行任务,但 Expect 的区别在于明确与代码差异绑定的“真实浏览器”执行步骤。
替代品
Codex Plugins
使用 Codex Plugins 将技能、应用集成和 MCP 服务器打包成可复用工作流,扩展 Codex 访问 Gmail、Google Drive 与 Slack 等工具。
Falconer
Falconer 是自更新知识平台,帮高速度团队在一个地方编写、分享并搜索可靠内部文档与代码上下文。
OpenFlags
OpenFlags 是开源自托管功能开关系统,支持渐进式交付;应用 SDK 本地评估,配套简单控制平面实现安全定向发布。
AakarDev AI
AakarDev AI 是一个强大的平台,通过无缝的向量数据库集成简化 AI 应用程序的开发,实现快速部署和可扩展性。
AgentMail
AgentMail 是面向 AI 代理的邮箱收发 API,可通过 REST 创建、发送、接收与搜索邮件,实现双向对话。
Arduino VENTUNO Q
Arduino VENTUNO Q 边缘AI电脑,集成AI推理与微控制器确定性控制;用 Arduino App Lab 打通嵌入式、Linux与边缘AI开发。