# 游戏功能重构测试指南

## 测试准备

### 1. 启动应用
```bash
npm run dev
# 或
npm run start
```

### 2. 登录并选择Token
- 进入Token管理页面
- 选择一个有效的Token
- 等待WebSocket连接成功（显示"已连接"）

### 3. 进入游戏功能页面
- 导航栏点击"游戏功能"
- 确认看到身份牌和三个标签页

---

## 详细测试步骤

### 一、基础UI测试

#### 1.1 标签页布局
- [ ] 确认看到三个标签页：每日、俱乐部、活动
- [ ] 确认身份牌在标签页上方常驻显示
- [ ] 点击每个标签页，确认能正常切换
- [ ] 确认切换时有平滑动画效果

#### 1.2 响应式测试
- [ ] 桌面端（>1024px）：卡片以网格形式展示，每行2-3个
- [ ] 平板端（768-1024px）：卡片以网格形式展示，每行1-2个
- [ ] 移动端（<768px）：卡片单列垂直排列
- [ ] 调整浏览器窗口大小，确认布局自适应

#### 1.3 主题测试
- [ ] 切换到深色主题，确认所有卡片正常显示
- [ ] 切换回浅色主题，确认所有卡片正常显示
- [ ] 确认按钮和文字在两种主题下都清晰可读

---

### 二、【每日】标签页功能测试

#### 2.1 队伍阵容（TeamStatus）
**测试步骤**:
1. 点击"每日"标签页
2. 找到"队伍阵容"卡片
3. 查看当前阵容显示是否正确
4. 点击阵容切换按钮（1、2、3、4）
5. 点击刷新按钮

**预期结果**:
- [ ] 当前阵容编号正确显示
- [ ] 英雄头像和名称正确显示
- [ ] 切换阵容后，英雄列表更新
- [ ] 刷新按钮有旋转动画

#### 2.2 每日任务（DailyTaskStatus）
**测试步骤**:
1. 查看每日任务卡片
2. 检查任务列表显示
3. 查看完成状态标识

**预期结果**:
- [ ] 任务列表正确显示
- [ ] 完成/未完成状态正确
- [ ] 进度条准确反映进度

#### 2.3 咸将塔（TowerStatus）
**测试步骤**:
1. 查看咸将塔卡片
2. 检查当前层数显示（如：5-3）
3. 检查剩余体力显示
4. 点击"开始爬塔"按钮

**预期结果**:
- [ ] 当前层数格式正确（floor-layer）
- [ ] 剩余体力数值正确
- [ ] 体力不足时按钮禁用
- [ ] 点击后显示"爬塔中..."
- [ ] 爬塔完成后层数更新

#### 2.4 挂机时间（HangUpStatus）★新组件
**测试步骤**:
1. 查看挂机时间卡片
2. 检查剩余时间倒计时（格式：HH:MM:SS）
3. 检查已挂机时间显示
4. 点击"加钟"按钮
5. 点击"领取奖励"按钮

**预期结果**:
- [ ] 倒计时每秒更新
- [ ] 时间格式正确（00:00:00）
- [ ] 加钟按钮点击后显示"加钟中..."
- [ ] 加钟完成后剩余时间增加
- [ ] 领取按钮点击后显示"领取中..."
- [ ] 领取完成后显示成功消息

#### 2.5 咸鱼大冲关（StudyStatus）★新组件
**测试步骤**:
1. 查看咸鱼大冲关卡片
2. 检查完成状态（已完成/待完成）
3. 点击"🎯 一键答题"按钮
4. 观察答题进度显示

**预期结果**:
- [ ] 状态标识正确（每周任务）
- [ ] 已完成时显示"✅ 已完成无需作答"
- [ ] 未完成时显示"🎯 一键答题"
- [ ] 答题中显示进度（如：答题中 5/10）
- [ ] 答题完成后状态更新为已完成

#### 2.6 盐罐机器人（BottleHelperStatus）★新组件
**测试步骤**:
1. 查看盐罐机器人卡片
2. 检查运行状态（运行中/已停止）
3. 检查剩余时间倒计时
4. 点击"启动服务"或"重启服务"按钮

**预期结果**:
- [ ] 运行状态正确显示
- [ ] 倒计时每秒更新
- [ ] 点击按钮后显示操作消息
- [ ] 操作完成后状态更新

---

### 三、【俱乐部】标签页功能测试

#### 3.1 俱乐部签到（LegionSigninStatus）★新组件
**测试步骤**:
1. 点击"俱乐部"标签页
2. 查看俱乐部签到卡片
3. 检查签到状态（已签到/待签到）
4. 查看当前俱乐部名称
5. 点击"立即签到"按钮

**预期结果**:
- [ ] 签到状态正确显示
- [ ] 俱乐部名称正确显示
- [ ] 已签到时按钮禁用
- [ ] 点击签到后显示操作消息
- [ ] 签到完成后状态更新为"已签到"

#### 3.2 俱乐部赛车（CarManagement）
**测试步骤**:
1. 查看俱乐部赛车卡片
2. 测试赛车相关功能

**预期结果**:
- [ ] 赛车信息正确显示
- [ ] 相关操作按钮正常工作

#### 3.3 俱乐部信息（ClubInfo）
**测试步骤**:
1. 查看俱乐部信息卡片
2. 切换子标签页（概览、成员、盐场战绩）
3. 点击刷新按钮

**预期结果**:
- [ ] 俱乐部概览信息正确（战力、段位、成员数等）
- [ ] 成员列表正确显示（按战力排序）
- [ ] 盐场战绩正常显示
- [ ] 刷新按钮正常工作

#### 3.4 俱乐部排位（LegionMatchStatus）★新组件
**测试步骤**:
1. 查看俱乐部排位卡片
2. 检查报名状态（已报名/未报名）
3. 阅读赛事说明
4. 点击"立即报名"按钮

**预期结果**:
- [ ] 报名状态正确显示
- [ ] 赛事说明清晰（周三周四周五）
- [ ] 已报名时按钮禁用
- [ ] 点击报名后显示操作消息
- [ ] 报名完成后状态更新

---

### 四、【活动】标签页功能测试

#### 4.1 月度任务（MonthlyTaskStatus）★新组件
**测试步骤**:
1. 点击"活动"标签页
2. 查看月度任务卡片
3. 检查剩余天数显示
4. 查看钓鱼进度和百分比
5. 查看竞技场进度和百分比
6. 点击"刷新进度"按钮
7. 点击"钓鱼补齐"按钮
8. 点击"钓鱼补齐"右侧下拉菜单，选择"一键完成"
9. 点击"竞技场补齐"按钮
10. 点击"竞技场补齐"右侧下拉菜单，选择"一键完成"

**预期结果**:
- [ ] 剩余天数正确显示
- [ ] 钓鱼进度格式正确（如：100/320 (31%)）
- [ ] 竞技场进度格式正确（如：50/240 (20%)）
- [ ] 刷新按钮点击后显示"刷新中..."
- [ ] 刷新完成后进度更新
- [ ] 补齐按钮点击后显示"补齐中..."
- [ ] 补齐过程中显示提示消息（如：检测到免费次数、开始付费补齐等）
- [ ] 补齐完成后显示成功消息
- [ ] 一键完成功能正常工作
- [ ] 补齐规则说明清晰易懂

#### 4.2 咸将升级模块（UpgradeModule）
**测试步骤**:
1. 查看咸将升级模块卡片
2. 设置升星次数
3. 设置图鉴升级次数
4. 勾选/取消"领取图鉴奖励"
5. 设置领取奖励次数
6. 点击"开始升级"按钮
7. 观察进度条和当前操作提示

**预期结果**:
- [ ] 配置项输入正常
- [ ] 进度条实时更新
- [ ] 当前操作提示准确（咸将升星中/图鉴升级中/领取奖励中）
- [ ] 升级完成后显示成功消息

---

### 五、WebSocket 通信测试

#### 5.1 命令发送
- [ ] 每个按钮点击后都能正常发送命令
- [ ] 浏览器控制台无错误信息
- [ ] 命令参数正确

#### 5.2 响应处理
- [ ] 服务器响应正常接收
- [ ] 数据正确更新到界面
- [ ] 状态实时刷新

#### 5.3 连接状态
- [ ] 连接断开时功能被禁用
- [ ] 重新连接后功能恢复
- [ ] 连接状态显示准确

---

### 六、错误处理测试

#### 6.1 无Token情况
- [ ] 未选择Token时，显示警告消息
- [ ] 提示用户选择Token

#### 6.2 WebSocket未连接
- [ ] 未连接时，显示错误消息
- [ ] 提示用户等待连接

#### 6.3 请求超时
- [ ] 请求超时时显示友好提示
- [ ] 不影响其他功能使用

#### 6.4 服务器错误
- [ ] 服务器返回错误时显示错误消息
- [ ] 用户可以重试操作

---

### 七、性能测试

#### 7.1 首屏加载
- [ ] 页面加载速度正常（<3秒）
- [ ] 无明显卡顿

#### 7.2 标签页切换
- [ ] 标签页切换流畅
- [ ] 切换动画不卡顿

#### 7.3 数据更新
- [ ] 倒计时流畅（1秒间隔准确）
- [ ] 进度条更新流畅
- [ ] 批量操作不阻塞UI

---

### 八、浏览器兼容性测试

测试浏览器：
- [ ] Chrome/Edge (最新版)
- [ ] Firefox (最新版)
- [ ] Safari (最新版，Mac/iOS)
- [ ] 移动浏览器（Chrome/Safari）

---

### 九、常见问题排查

#### 问题1：标签页无法切换
**可能原因**:
- Naive UI 未正确安装
- n-tabs 组件导入错误

**解决方案**:
```bash
npm install naive-ui
```

#### 问题2：新组件不显示
**可能原因**:
- 组件未正确导入
- 组件路径错误

**解决方案**:
检查 GameStatus.vue 中的 import 语句

#### 问题3：倒计时不更新
**可能原因**:
- 定时器未启动
- 组件未挂载

**解决方案**:
检查组件的 onMounted 和 startTimer 方法

#### 问题4：WebSocket命令无响应
**可能原因**:
- Token无效
- WebSocket连接断开
- 服务器未响应

**解决方案**:
1. 检查Token是否有效
2. 检查WebSocket连接状态
3. 查看浏览器控制台Network标签

#### 问题5：月度任务补齐失败
**可能原因**:
- 资源不足（钓鱼券、竞技场次数）
- 网络超时
- 服务器限制

**解决方案**:
1. 检查游戏内资源是否充足
2. 增加超时时间
3. 分批执行

---

### 十、测试报告模板

测试完成后，请填写以下报告：

#### 测试基本信息
- 测试时间：____年__月__日
- 测试人员：________
- 测试环境：________(浏览器/操作系统)
- 测试版本：________

#### 测试结果汇总
- 总测试项：____
- 通过项：____
- 失败项：____
- 阻塞项：____

#### 发现的问题
| 序号 | 问题描述 | 严重级别 | 复现步骤 | 预期结果 | 实际结果 | 状态 |
|-----|---------|---------|---------|---------|---------|------|
| 1   |         | 高/中/低 |         |         |         | 待修复/已修复 |
| 2   |         |         |         |         |         |      |

#### 改进建议
1. 
2. 
3. 

#### 测试结论
- [ ] 通过，可以发布
- [ ] 有问题，需要修复
- [ ] 阻塞，暂不能发布

---

## 自动化测试（可选）

如果需要编写自动化测试，可以使用以下框架：

### 单元测试（Vitest）
```bash
npm install -D vitest @vue/test-utils
```

### E2E测试（Playwright）
```bash
npm install -D @playwright/test
```

---

## 测试通过标准

满足以下所有条件即视为测试通过：

1. ✅ 所有功能正常工作，无明显bug
2. ✅ UI显示正常，无布局错乱
3. ✅ 响应式布局在所有设备上正常
4. ✅ WebSocket通信正常
5. ✅ 错误处理完善，有友好提示
6. ✅ 性能流畅，无明显卡顿
7. ✅ 浏览器兼容性良好
8. ✅ 深色主题支持正常

---

## 结论

本测试指南涵盖了游戏功能重构后的所有测试场景。建议按照以上步骤逐项测试，确保所有功能在新布局下正常工作。测试过程中发现的问题应及时记录并修复。

