Skip to Content
质量命令/moai e2e

/moai e2e

使用浏览器自动化工具创建和运行 E2E (端到端) 测试 的命令。

一句话总结: /moai e2e 是 “用户旅程测试员”。从 3种浏览器工具 中选择最优工具,自动测试用户流程。

斜杠命令: 在 Claude Code 中输入 /moai:e2e 可以直接运行此命令。仅输入 /moai 即可查看所有可用子命令列表。

概述

E2E 测试从实际用户的角度验证应用程序是否正确运行。/moai e2e 支持3种浏览器自动化工具,并根据项目环境自动选择最佳工具。

自动发现用户旅程、生成测试脚本、执行并报告结果。GIF 录制功能支持视觉验证。

用法

# 自动选择工具运行 E2E 测试 > /moai e2e # 指定 Playwright > /moai e2e --tool playwright # 包含 GIF 录制 > /moai e2e --record # 指定目标 URL > /moai e2e --url http://localhost:3000 # 仅运行特定用户旅程 > /moai e2e --journey login # 禁用无头模式 (用于调试) > /moai e2e --headless false

支持的标志

标志描述示例
--tool TOOL强制选择浏览器工具 (agent-browser, playwright, chrome-mcp)/moai e2e --tool playwright
--record将浏览器交互录制为 GIF/moai e2e --record
--url URL测试目标 URL (默认: 从项目配置自动检测)/moai e2e --url http://localhost:3000
--journey NAME仅运行指定的用户旅程/moai e2e --journey login
--headless无头模式 (默认: true)/moai e2e --headless false
--browser BROWSERPlaywright 浏览器选择 (chromium, firefox, webkit)/moai e2e --browser firefox
--timeout N测试超时时间 (秒, 默认: 30)/moai e2e --timeout 60
--retry N失败测试重试次数 (默认: 1)/moai e2e --retry 3

浏览器自动化工具

工具比较

功能Agent BrowserPlaywright CLIClaude in Chrome
令牌成本低 (CLI 输出)低 (CLI 输出)高 (MCP 往返)
安装npm installnpx playwright install需要 Chrome 扩展
无头模式支持支持不支持 (需要 Chrome)
跨浏览器仅 ChromiumChromium, Firefox, WebKit仅 Chrome
GIF 录制Playwright tracePlaywright traceMCP GIF creator
AI 导航内置 AI 代理脚本驱动MCP 工具驱动
适合场景AI 探索测试确定性测试套件交互式调试
CI/CD支持支持不支持

自动选择逻辑

未指定 --tool 标志时,根据任务特征自动选择最佳工具:

条件选择的工具原因
使用 --record 标志Claude in Chrome最佳 GIF 录制功能
检测到 CI/CD 环境Playwright CLI最稳定的无头支持
旅程需要 AI 探索Agent Browser内置 AI 导航
需要确定性测试Playwright CLI最稳定,跨浏览器
交互式调试Claude in Chrome实时视觉反馈
默认Playwright CLI功能与令牌效率的最佳平衡

执行过程

/moai e2e 分5个阶段 (+安装阶段) 执行。

Phase 0: 工具选择与安装

并行检查3种工具的安装状态:

# 自动检测命令 (并行执行) npx agent-browser --version # Agent Browser npx playwright --version # Playwright # 检查 Chrome MCP 工具可用性 # Claude in Chrome

需要安装时:

工具安装命令
Playwrightnpx playwright install --with-deps chromium
Agent Browsernpm install -g agent-browser
Claude in ChromeChrome 扩展安装 (无法自动安装)

Phase 1: 旅程映射

--journey 标志时,分析应用程序自动发现关键用户旅程:

  • 分析项目文档 (.moai/project/product.md)
  • 分析路由定义 (routes.ts, urls.py, router.go)
  • 识别表单元素、认证流程、CRUD 操作
  • 映射关键用户路径 (登录、主要功能、错误处理)

Phase 2: 测试脚本创建

生成匹配所选工具的测试文件:

工具测试文件格式位置
Playwright{journey-name}.spec.tse2e/
Agent Browser{journey-name}.agent.tse2e/
Claude in Chrome结构化 MCP 提示内存中

Playwright 测试包含:

  • Page Object Model 模式
  • 逐步断言
  • 截图捕获
  • 网络响应验证
  • 无障碍检查 (@axe-core/playwright)

Phase 3: 测试执行

工具执行方式
Playwrightnpx playwright test e2e/ (CLI, 令牌高效)
Agent Browsernpx agent-browser --task "..." (CLI, AI 导航)
Claude in ChromeMCP 工具调用 (实时, 高令牌成本)

Phase 4: 录制 (可选)

使用 --record 标志时:

工具录制方式输出
Playwrightnpx playwright test --trace one2e/traces/
Agent Browsernpx agent-browser --task "..." --tracee2e/recordings/
Claude in Chromemcp__claude-in-chrome__gif_creatore2e/recordings/{journey}.gif

Phase 5: 报告

## E2E 测试报告 ### 使用的工具: Playwright CLI ### 结果摘要 | 旅程 | 状态 | 耗时 | 截图 | |------|------|------|------| | 登录 | PASS | 2.3秒 | 3张 | | 结账 | FAIL | 5.1秒 | 4张 | ### 失败详情 - 结账 (步骤4): 期望重定向到 /confirmation,实际到 /error - 截图: e2e/screenshots/checkout-step4.png - 错误: TimeoutError: 超过 30000ms 超时 ### 录制 (使用 --record 时) - e2e/recordings/login_flow.gif - e2e/recordings/checkout_process.gif ### 覆盖 - 已测试用户旅程: 5/7 - 已覆盖关键路径: 3/3 - 已测试错误场景: 2/4

代理委托链

代理角色:

代理角色主要工作
MoAI 编排器工作流协调, 用户交互报告输出, 下一步指引
expert-testing工具检测、旅程映射、脚本创建、执行完整 E2E 测试管道
expert-frontendChrome MCP 执行 (仅 Chrome 模式)浏览器自动化、GIF 录制

常见问题

Q: 应该选择哪个工具?

大多数情况下 Playwright CLI 是最佳选择。提供 CI/CD 支持、跨浏览器测试和低令牌成本。需要 AI 探索用 Agent Browser,需要视觉调试用 Claude in Chrome。

Q: 可以在 CI/CD 管道中使用吗?

Playwright CLI 和 Agent Browser 支持 CI/CD。Claude in Chrome 需要真实的 Chrome 浏览器,无法在 CI/CD 中使用。

Q: GIF 录制的令牌成本是多少?

Playwright/Agent Browser 使用 CLI trace,无额外令牌成本。Claude in Chrome 的 GIF 录制因 MCP 往返而令牌成本较高。

Q: 如果已有 E2E 测试怎么办?

会检测现有测试,并按现有模式添加新测试。不会覆盖现有测试。

相关文档

Last updated on