418 lines
10 KiB
Markdown
418 lines
10 KiB
Markdown
# 游戏功能重构测试指南
|
||
|
||
## 测试准备
|
||
|
||
### 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. ✅ 深色主题支持正常
|
||
|
||
---
|
||
|
||
## 结论
|
||
|
||
本测试指南涵盖了游戏功能重构后的所有测试场景。建议按照以上步骤逐项测试,确保所有功能在新布局下正常工作。测试过程中发现的问题应及时记录并修复。
|
||
|