e2elisted
Install: claude install-skill AgentsMesh/AgentsMesh
# E2E 测试执行指南
执行 `e2e/` 目录下的端到端测试用例。
## 🚨 强制要求:UI 测试必须执行
**⚠️ 禁止跳过 UI 测试!UI 测试是 E2E 测试的核心,必须使用 MCP Chrome DevTools 执行真实的浏览器验证。**
### UI 测试执行规则
1. **不可跳过**:任何 `verification.type: ui` 的测试步骤都必须执行
2. **不可替代**:禁止用 API 调用代替 UI 验证
3. **必须使用浏览器**:使用 MCP Chrome DevTools 工具(`mcp__chrome-devtools__*`)
4. **验证真实渲染**:确保页面元素真实渲染,而非仅验证数据存在
### 为什么 UI 测试重要?
- API 测试只验证数据,UI 测试验证用户体验
- 前端渲染问题只能通过 UI 测试发现
- 交互逻辑(点击、输入、导航)必须在浏览器中验证
- 响应式布局和样式问题需要实际渲染才能发现
## ⚠️ 关键:使用当前 Worktree 的开发环境
**每个 worktree 有独立的 Docker 环境和端口配置!**
### 1. 定位当前 Worktree 的 dev 环境
```bash
# 当前工作目录的 deploy/dev 目录
cd <当前worktree根目录>/deploy/dev
# 例如:
# /Users/stone/Works/AIO/AgentsMesh-Worktrees/feature-payment-membership/deploy/dev
# /Users/stone/Works/AIO/AgentsMesh-Worktrees/feature-xxx/deploy/dev
```
### 2. 获取当前环境的端口配置
**必须先 source 当前 worktree 的 .env 文件获取正确端口:**
```bash
cd <当前worktree>/deploy/dev
source .env
# 查看关键端口
echo "WEB_PORT: ${WEB_PORT}" # Web/Nginx 端口(用于浏览器和 API)
echo "POSTGRES_PORT: ${POSTGRES_PORT}" # 数据库端口
echo "REDIS_PORT: ${REDIS_PORT}" # Redis 端口
```
### 3. Docker 容器命名规则
容器名称包含 worktree 目录名,格式为:`agentsmesh-<worktree-dir>-<service>-1`
```bash
# 查看当前环境的容器
docker compose ps
# 示例容器名:
# agentsmesh-feature-payment-membership-postgres-1
# agentsmesh-feature-payment-membership-backend-1
# agentsmesh-feature-payment-membership-web-1
```
### 4. 确认环境运行中
```bash
cd <当前worktree>/deploy/dev
docker compose ps # 确认所有服务 Up 且 healthy
```
---
## 环境变量与 URL 构建
### 浏览器 URL(UI 测试)
```bash
#