这个 Skill 能做什么,适合哪些场景?
e2e 是 TesterArmy 开源的端到端测试框架,适用于 Web 与移动应用,随仓库以 Agent Skill 形式提供(skills/e2e/SKILL.md)。它让智能体用自然语言目标(agent.act)操作界面,再用定位器与断言(expect、agent.assert、agent.waitFor、agent.extract)精确判定结果。Web 目标经 Playwright 驱动 Chromium、Firefox、WebKit,移动目标经 agent-device 驱动 iOS 模拟器、Android 模拟器与真机。已验证的 agent 步骤会被记录并在下次运行时重放,无需再调用模型;不含 agent 步骤的测试完全不需要模型。该项目处于活跃开发期,API 在 1.0 前仍可能变动。
- 脚手架生成 e2e.config.ts:声明 targets(web() 或移动引擎)、被测应用启动命令与日志路径,以及 agents 的模型与系统提示词
- 编写并运行 tests/**/*.e2e.ts:agent.act 执行一个目标,expect/agent.assert 紧随其后钉住结果,screen/app/browser 提供精确定位与检查
- 运行 npx e2e run 执行单个文件,生成 .e2e/report. 与每个失败测试的 trace 页面(步骤、缓存决策、应用日志、agent 回合、失败时屏幕)
- 重放缓存:已验证且有记录检查的 act 步骤在应用未变时重放,不调用模型
- e2e explore 无测试文件地朝目标探索应用;e2e bug-bash 并行探索、合并发现,并用可复现测试证明每个 bug
- e2e mcp 启动 MCP 服务器,让编码智能体通过 open_session/observe/locate 驱动运行中的应用
- 为 Vite、Next.js、Astro 等前端项目补充端到端测试的 Web 开发者,想让 agent 处理繁琐流程、断言保持确定性
- 需要为 iOS 模拟器、Android 模拟器或真机写 UI 测试的移动团队(Expo、SwiftUI、Jetpack Compose、Flutter、KMP 均有示例项目)
- 在分支或发版前被要求做 bug bash / QA 的工程师,可用并行 explore 章程扫一遍应用并用可复现测试证实发现
- 已有 Playwright 经验但希望用语义目标(agent.act)替代脆弱点击序列、同时保留精确断言的测试工程师
- 编码智能体需要实时查看和操作正在运行的应用时,通过 e2e mcp 进行观察-编写循环
- CI 中运行 e2e 的团队,可读取 report.、退出码,并让 @e2e-dev/github 把结果以 PR 评论发布
- 纯手工测试或无 Node.js/npm 环境的团队——整个工作流建立在 e2e CLI 与 TypeScript 测试文件上
- 不愿向 LLM 提供商付费或配置订阅/API key 的场景(不含 agent 步骤的测试除外)
- 无法接受 API 在 1.0 前变动的项目——README 明确说明处于活跃开发期
如何安装这个 Skill?
- 本评审为静态源码审阅,未运行任何命令,置信度低;所有'可靠''有效'判断仅基于文档自述。
- e2e init 会修改 .gitignore、.mcp.、.cursor/mcp. 并安装依赖,使用前应人工确认这些改动。
- agent.* 步骤需要模型调用,产生持续费用;建议先用无 agent 步骤的测试验证环境。
- 模型配置(Vercel AI Gateway、OpenAI/Copilot 订阅等)依赖海外服务,在中国大陆网络环境下可达性未经核实,需自行评估代理或本地模型方案。
- 遥测默认开启(可用 npx e2e telemetry disable 关闭);反馈命令虽有脱敏与 --dry-run,发送前仍建议先用 --dry-run 检查内容。
- replay 缓存与 --strict-cache 语义复杂,仅凭文档未经执行验证;生产使用前建议小规模试验。
- 发布者未经验证,示例中的模型名与依赖版本无法核实,升级时注意核对实际包版本。
- Shell / 命令行
- 网络访问
- 本地文件系统
- MCP Server
Node.js / npm (npx e2e CLI)e2e npm packagePlaywright browsers via @e2e-dev/web or agent-device via @e2e-dev/mobilean LLM provider credential for agent steps (AI SDK gateway / API key)
源材料未提供将本 skill 复制到 Claude Code 等 Agent Skills 客户端的安装命令;skill 位于仓库 skills/e2e/SKILL.md,可将该目录放入客户端的 skills 目录。被测项目侧的框架初始化命令有文档支持:
Claude Code / Codex 等智能体客户端(skill 本体,无官方文档命令)
# 将 tester-army/e2e 仓库中的 skills/e2e/ 目录复制到客户端的 skills 目录被测项目内(框架初始化,README 快速开始)
npx e2e init如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 给这个 Next.js 项目加端到端测试:先初始化 e2e 配置,再写一个会员升级到 Pro 套餐的测试
- 对这个应用做一次 bug bash,用并行探索找出问题,并为每个发现写可复现的测试
- 我们的 e2e 测试在 CI 上失败了,帮我读 trace 报告找出原因并修复定位器
- 写一个移动端测试,在 Android 模拟器上验证登录后的账单页面显示 Pro
触发条件:项目依赖 e2e,或被要求写端到端/浏览器/移动/智能体 UI 测试、做 bug bash、或 e2e 运行失败。工作流:先检查 e2e.config.ts 与 tests 目录,不存在则按 setup 主题初始化;阅读组件或用 --headed/e2e mcp 了解界面的可访问名称;写 tests/<feature>.e2e.ts,每个 act 一个目标并紧跟断言;用 npx e2e run tests/<feature>.e2e.ts 运行单文件;失败时读终端给出的 .e2e/results/<test>/trace.md,绝不加 sleep。命令均以 npx e2e(或 pnpm exec e2e)运行。可用 npx e2e guide <topic> 离线阅读八个主题(setup、writing-tests、agent、running、explore、debugging、mcp、bug-bash)。机密经 config 的 credentials 与 secrets 声明,绝不出现在测试代码中。
这个 Skill 有哪些优点和局限?
- agent 步骤与精确定位器断言结合:语义灵活性不牺牲结果确定性
- 重放缓存让已验证的 act 步骤在应用不变时不花模型调用,成本可控
- Web 与移动双引擎覆盖(Playwright + agent-device),八种技术栈均有可运行的完整示例
- 失败时提供 trace 页面,含缓存决策、应用日志与失败屏幕,便于定位
- 内置 secrets/credentials 命名空间,避免机密进入测试代码
- 项目未到 1.0,API 与配置在次版本间可能变动
- agent 步骤需要模型提供商认证,存在持续成本与预算管理问题
- 库文档、性能基准与用户评价在源材料中缺失,实际稳定性需自行验证
- CLI 默认发送匿名遥测(命令、引擎、失败位置),需主动关闭(E2E_TELEMETRY_DISABLED=1)
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| e2e 智能体端到端测试 本页 | 52 · 谨慎使用 | ★ 8.7k | 1 天前 | Apache-2.0 |
| Create Verification Skill(e2e 验证技能生成器) | 54 · 谨慎使用 | ★ 8.7k | 1 天前 | Apache-2.0 |
| e2e Verify —— 端到端变更验证技能 | 64 · 推荐 | ★ 8.7k | 1 天前 | Apache-2.0 |
| e2e Playground 验证技能 | 59 · 推荐 | ★ 8.7k | 1 天前 | Apache-2.0 |
| Playwright 浏览器自动化技能 | 68 · 推荐 | ★ 3.2k | 1 个月前 | MIT |
SKILL.md 与 README 都表明其 Web 引擎构建在 Playwright 之上(Chromium、Firefox、WebKit),可视为在 Playwright 运行时之上增加 agent 目标驱动、重放缓存与移动引擎的一层;源材料未提及其他具体竞品。
FollowSkills 如何评估这个 Skill?
正面:凭据/密钥有专门命名空间且明文不进模型(type_secret、Secret 遮蔽)、像素填充后遮蔽、反馈命令声明脱敏并提供 --dry-run、upload 限定项目根且 .env 拒绝(POLICY_DENIED)、遥测可禁用、CI 示例权限最小化。扣分:文档未逐项说明 runner 安装/下载内容的供应链信息;npx 安装脚本与 init 对 .gitignore、.mcp.、.cursor/mcp. 的自动修改缺少显式用户确认描述;反馈与遥测的数据流只有自述声明,无第三方可验证;发布者未验证,归属仅凭仓库自述。
正面:文档内部高度自洽,错误码体系完整(debugging 表覆盖大量失败模式并给出修复)、退出码定义清晰、追踪页与 report. 结构明确、对异常输入(歧义定位、模型输出无效、上下文溢出)有明确受控失败路径。扣分:静态审阅无法执行复现,测试未运行;agent.replay 缓存语义复杂,仅凭文档无法确认其宣称行为真实成立;示例引用的模型名(gpt-6-luna-fast 等)不可核实,多处特性依赖未见的实现代码。
正面:触发描述详尽(何时使用、主题索引明确)、工作流清晰、覆盖浏览器/移动/CI/MCP 多场景、错误边界('When it does not fit')部分披露。扣分:对不适用的项目类型(非 TS/非 ESM 场景、无 Node 24 的环境)边界说明有限;模型网关与 npm 包多依赖海外服务(Vercel AI Gateway、GitHub Copilot 订阅),在中国大陆网络可达性存疑且文档未提供镜像或替代路径;无中文支持说明。
正面:分层文档(SKILL.md + 8 个主题引用 + 内置 guide 命令 + node_modules 内 docs)、示例丰富、许可元数据为 Apache-2.0、有已知限制与调试 FAQ 等价内容。扣分:发布者身份未验证,维护责任与更新路径不明;无版本号/变更日志出现在技能文档中;SKILL.md 极长,渐进披露靠引用文件但主文件信息密度过高;对 e2e init 修改用户文件的副作用披露分散。
正面:目标(代理式 e2e 测试)任务明确、输出格式(.e2e.ts 测试、report.、trace.md)清晰、bug-bash 流程含验证与拒绝分类,声称的边际价值(相对手写 Playwright 测试的自动化代理)合理。扣分:静态审阅无法验证代表性输出可直接使用;agent 步骤依赖模型调用,成本/收益比未给出量化数据;宣称的'通过复现测试证明 bug'流程正确性无法执行验证。
正面:主题间交叉引用一致、错误码与配置键在多个文件间相互印证、CI 示例含锁定版本的 action、bug-bash 明确区分模型断言与已验证发现。扣分:静态审阅无第三方执行证据;examples 仓库、在线文档、模型名等关键声明均无法在提供的文件内核实;未提供实际的测试套件结果或用户验证记录。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →