添加用户管理视图、API和状态管理文件
14 KiB
Uniapp E2E测试方案
项目概述
本方案为everything-is-suitable项目提供全面的端到端(E2E)测试解决方案,覆盖Uniapp客户端、Admin管理后台和API后端三个核心模块。
测试架构
系统架构
┌─────────────────┐
│ Uniapp Client │ (H5: http://localhost:8081)
└────────┬────────┘
│
▼
┌─────────────────┐
│ API Backend │ (http://127.0.0.1:8080)
└─────────────────┘
▲
│
┌────────┬────────┐
│ Admin │ Test │ (Admin: http://localhost:5174)
└─────────┴────────┘
测试框架
- Uniapp测试: TypeScript + Playwright
- Admin测试: TypeScript + Playwright
- API测试: Python + Pytest
- 综合测试: Python + Playwright
测试环境配置
环境要求
- Node.js >= 18.0.0
- Python >= 3.13
- Java >= 17
- Maven >= 3.8
端口配置
| 服务 | 端口 | URL |
|---|---|---|
| API Backend | 8080 | http://127.0.0.1:8080 |
| Uniapp H5 | 8081 | http://localhost:8081 |
| Admin | 5174 | http://localhost:5174 |
| Playwright UI | 9323 | http://localhost:9323 |
启动顺序
- 启动API Backend(使用local配置)
- 启动Uniapp H5服务
- 启动Admin服务
- 执行E2E测试
测试范围
1. Uniapp客户端测试
1.1 页面导航测试
-
TC-001: 底部导航栏切换测试
- 切换到日历页面
- 切换到黄历页面
- 切换到用户中心页面
- 切换到AIGC页面
-
TC-002: 页面路由测试
- 从首页导航到日历页面
- 从日历页面导航到黄历页面
- 从黄历页面导航到用户中心页面
1.2 日历功能测试
-
TC-003: 日历页面加载测试
- 验证日历视图可见
- 验证月份显示正确
- 验证农历信息显示
-
TC-004: 月份切换测试
- 切换到上个月
- 切换到下个月
- 验证月份显示更新
-
TC-005: 日期选择测试
- 选择特定日期
- 验证选中状态
- 验证农历信息更新
-
TC-006: 农历信息显示测试
- 验证农历日期显示
- 验证节气信息显示
- 验证生肖信息显示
1.3 黄历功能测试
-
TC-007: 黄历页面加载测试
- 验证黄历视图可见
- 验证日期显示正确
- 验证宜忌信息显示
-
TC-008: 黄历日期切换测试
- 切换到前一天
- 切换到后一天
- 验证黄历信息更新
-
TC-009: 宜忌信息显示测试
- 验证宜事项显示
- 验证忌事项显示
- 验证事项分类正确
-
TC-010: 时辰信息显示测试
- 验证时辰列表显示
- 验证时辰吉凶信息
- 验证时辰吉神凶煞
1.4 用户中心测试
-
TC-011: 用户信息显示测试
- 验证用户头像显示
- 验证用户名显示
- 验证用户状态显示
-
TC-012: 菜单导航测试
- 点击设置菜单
- 点击关于菜单
- 点击帮助菜单
-
TC-013: 登录功能测试
- 打开登录弹窗
- 输入用户名和密码
- 点击登录按钮
- 验证登录成功
1.5 AIGC功能测试
-
TC-014: AIGC页面加载测试
- 验证AIGC视图可见
- 验证输入框显示
- 验证生成按钮显示
-
TC-015: 内容生成测试
- 输入提示词
- 点击生成按钮
- 验证生成结果
1.6 数据加载测试
-
TC-016: 黄历数据加载测试
- 验证黄历数据加载
- 验证加载状态显示
- 验证错误处理
-
TC-017: 日历数据加载测试
- 验证日历数据加载
- 验证加载状态显示
- 验证错误处理
1.7 状态更新测试
-
TC-018: 选中日期状态更新测试
- 选择日期
- 验证选中状态更新
- 验证相关数据更新
-
TC-019: 导航栏状态更新测试
- 切换页面
- 验证导航栏状态更新
- 验证页面标题更新
1.8 边界条件测试
-
TC-020: 月份边界测试
- 切换到1月
- 切换到12月
- 验证跨年切换
-
TC-021: 日期边界测试
- 选择月初日期
- 选择月末日期
- 验证日期范围
-
TC-022: 表单验证测试
- 测试空输入
- 测试无效输入
- 验证错误提示
1.9 响应式布局测试
-
TC-023: 桌面端布局测试
- 验证桌面端布局正常
- 验证元素位置正确
-
TC-024: 平板端布局测试
- 验证平板端布局正常
- 验证元素位置正确
-
TC-025: 移动端布局测试
- 验证移动端布局正常
- 验证元素位置正确
2. Admin管理后台测试
2.1 用户登录测试
-
TC-026: 正常登录测试
- 输入正确的用户名和密码
- 点击登录按钮
- 验证登录成功并跳转到仪表盘
-
TC-027: 错误密码登录测试
- 输入正确的用户名和错误的密码
- 点击登录按钮
- 验证登录失败并显示错误提示
-
TC-028: 空用户名登录测试
- 不输入用户名
- 点击登录按钮
- 验证显示验证错误
-
TC-029: 空密码登录测试
- 不输入密码
- 点击登录按钮
- 验证显示验证错误
-
TC-030: 用户名长度边界测试
- 输入超长用户名
- 点击登录按钮
- 验证显示验证错误
-
TC-031: Token自动刷新测试
- 登录成功
- 等待Token接近过期
- 验证Token自动刷新
2.2 用户管理测试
-
TC-032: 创建新用户测试
- 点击新增用户按钮
- 填写用户信息
- 点击保存按钮
- 验证用户创建成功
-
TC-033: 编辑用户信息测试
- 点击编辑按钮
- 修改用户信息
- 点击保存按钮
- 验证用户信息更新成功
-
TC-034: 删除用户测试
- 点击删除按钮
- 确认删除
- 验证用户删除成功
-
TC-035: 搜索用户测试
- 输入搜索关键词
- 点击搜索按钮
- 验证搜索结果正确
-
TC-036: 封禁用户测试
- 点击封禁按钮
- 选择封禁类型
- 填写封禁原因
- 点击确认按钮
- 验证用户封禁成功
-
TC-037: 解封用户测试
- 点击解封按钮
- 填写解封原因
- 点击确认按钮
- 验证用户解封成功
-
TC-038: 重复用户名测试
- 创建用户时使用已存在的用户名
- 点击保存按钮
- 验证显示错误提示
-
TC-039: 邮箱格式验证测试
- 输入无效邮箱格式
- 点击保存按钮
- 验证显示验证错误
-
TC-040: 手机号格式验证测试
- 输入无效手机号格式
- 点击保存按钮
- 验证显示验证错误
-
TC-041: 密码强度验证测试
- 输入弱密码
- 点击保存按钮
- 验证显示验证错误
-
TC-042: 分页边界测试
- 测试第一页
- 测试最后一页
- 测试分页切换
-
TC-043: 搜索结果为空测试
- 搜索不存在的用户
- 验证显示空状态
2.3 权限控制测试
-
TC-044: 未登录访问重定向测试
- 未登录时访问受保护页面
- 验证重定向到登录页面
-
TC-045: 有权限访问测试
- 使用有权限的用户登录
- 访问受保护页面
- 验证访问成功
-
TC-046: 无权限访问测试
- 使用无权限的用户登录
- 访问受保护页面
- 验证显示权限不足提示
-
TC-047: Token过期自动跳转测试
- 设置Token过期
- 访问受保护页面
- 验证自动跳转到登录页面
2.4 集成测试
-
TC-048: 完整业务流程测试
- 登录
- 创建用户
- 分配角色
- 验证权限
-
TC-049: 跨模块导航测试
- 从用户管理导航到角色管理
- 从角色管理导航到菜单管理
- 验证导航正常
3. API后端测试
3.1 认证API测试
-
TC-050: 登录API测试
- 发送登录请求
- 验证返回Token
- 验证Token格式正确
-
TC-051: 登出API测试
- 发送登出请求
- 验证登出成功
-
TC-052: Token刷新API测试
- 发送Token刷新请求
- 验证返回新Token
3.2 用户管理API测试
-
TC-053: 获取用户列表API测试
- 发送获取用户列表请求
- 验证返回用户列表
- 验证分页参数正确
-
TC-054: 获取用户详情API测试
- 发送获取用户详情请求
- 验证返回用户详情
- 验证数据完整性
-
TC-055: 创建用户API测试
- 发送创建用户请求
- 验证创建成功
- 验证返回用户ID
-
TC-056: 更新用户API测试
- 发送更新用户请求
- 验证更新成功
- 验证数据更新
-
TC-057: 删除用户API测试
- 发送删除用户请求
- 验证删除成功
- 验证用户不存在
-
TC-058: 封禁用户API测试
- 发送封禁用户请求
- 验证封禁成功
- 验证封禁状态
-
TC-059: 解封用户API测试
- 发送解封用户请求
- 验证解封成功
- 验证解封状态
3.3 日历API测试
-
TC-060: 获取日历数据API测试
- 发送获取日历数据请求
- 验证返回日历数据
- 验证农历信息正确
-
TC-061: 获取黄历数据API测试
- 发送获取黄历数据请求
- 验证返回黄历数据
- 验证宜忌信息正确
3.4 运势API测试
-
TC-062: 获取每日运势API测试
- 发送获取每日运势请求
- 验证返回运势数据
- 验证运势信息完整
-
TC-063: 获取每月运势API测试
- 发送获取每月运势请求
- 验证返回运势数据
- 验证运势信息完整
-
TC-064: 获取每年运势API测试
- 发送获取每年运势请求
- 验证返回运势数据
- 验证运势信息完整
3.5 紫微斗数API测试
-
TC-065: 获取紫微斗数排盘API测试
- 发送获取紫微斗数排盘请求
- 验证返回排盘数据
- 验证星位信息正确
-
TC-066: 获取宫位运势API测试
- 发送获取宫位运势请求
- 验证返回运势数据
- 验证宫位信息完整
3.6 安全测试
-
TC-067: SQL注入防护测试
- 发送包含SQL注入的请求
- 验证请求被拒绝
- 验证无数据泄露
-
TC-068: XSS防护测试
- 发送包含XSS的请求
- 验证请求被拒绝
- 验证无脚本执行
-
TC-069: CSRF防护测试
- 发送CSRF攻击请求
- 验证请求被拒绝
- 验证CSRF Token验证
3.7 性能测试
-
TC-070: API响应时间测试
- 测试各API响应时间
- 验证响应时间在合理范围内
-
TC-071: 并发请求测试
- 发送并发请求
- 验证系统稳定性
- 验证响应正确性
-
TC-072: 大数据量测试
- 请求大数据量
- 验证系统处理能力
- 验证分页功能
4. 综合集成测试
4.1 端到端业务流程测试
-
TC-073: 用户注册到登录流程
- Uniapp用户注册
- Admin审核用户
- Uniapp用户登录
-
TC-074: 日历查询到运势查看流程
- Uniapp查询日历
- API返回日历数据
- Uniapp显示运势信息
-
TC-075: 黄历查询到宜忌查看流程
- Uniapp查询黄历
- API返回黄历数据
- Uniapp显示宜忌信息
-
TC-076: 紫微斗数排盘到运势分析流程
- Uniapp输入出生信息
- API返回紫微斗数排盘
- Uniapp显示运势分析
4.2 跨模块数据一致性测试
-
TC-077: 用户数据一致性测试
- Admin创建用户
- Uniapp查询用户
- 验证数据一致
-
TC-078: 日历数据一致性测试
- API更新日历数据
- Uniapp查询日历
- 验证数据一致
-
TC-079: 运势数据一致性测试
- API更新运势数据
- Uniapp查询运势
- 验证数据一致
4.3 异常场景测试
-
TC-080: 网络异常处理测试
- 模拟网络断开
- 验证错误处理
- 验证重试机制
-
TC-081: 服务异常处理测试
- 模拟API服务异常
- 验证错误处理
- 验证降级策略
-
TC-082: 数据异常处理测试
- 模拟数据异常
- 验证错误处理
- 验证数据校验
测试执行计划
阶段1: 单元测试(1天)
- 执行Uniapp单元测试
- 执行Admin单元测试
- 执行API单元测试
阶段2: 集成测试(2天)
- 执行Uniapp集成测试
- 执行Admin集成测试
- 执行API集成测试
阶段3: 端到端测试(3天)
- 执行Uniapp E2E测试
- 执行Admin E2E测试
- 执行综合集成测试
阶段4: 回归测试(1天)
- 修复问题后重新测试
- 验证所有测试通过
- 生成测试报告
测试报告
报告内容
- 测试执行摘要
- 测试用例统计
- 测试覆盖率分析
- 失败测试详情
- 问题分类统计
- 修复建议
- 后续行动计划
报告格式
- HTML报告(Playwright)
- JSON报告(自动化)
- Markdown报告(文档)
- PDF报告(归档)
成功标准
功能完整性
- ✅ 所有核心功能测试通过
- ✅ 所有API测试通过
- ✅ 所有集成测试通过
性能要求
- ✅ API响应时间 < 500ms
- ✅ 页面加载时间 < 2s
- ✅ 并发请求支持 > 100/s
稳定性要求
- ✅ 测试通过率 > 95%
- ✅ 无P0级别问题
- ✅ 无安全漏洞
风险评估
高风险
- API服务不稳定
- 数据不一致
- 权限控制缺陷
中风险
- 性能不达标
- 兼容性问题
- 用户体验问题
低风险
- UI细节问题
- 文档不完整
- 日志不详细
后续优化
短期优化(1周)
- 修复高优先级问题
- 优化测试用例
- 完善测试报告
中期优化(1月)
- 建立CI/CD流程
- 增加测试覆盖率
- 优化性能
长期优化(3月)
- 建立自动化测试平台
- 实现持续监控
- 建立质量度量体系