Files
everything-is-suitable/docs/uniapp-e2e-testing-plan.md
T
张翔 08ea5fbe98 feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
2026-03-28 14:37:29 +08:00

14 KiB
Raw Blame History

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)
└─────────┴────────┘

测试框架

  1. Uniapp测试: TypeScript + Playwright
  2. Admin测试: TypeScript + Playwright
  3. API测试: Python + Pytest
  4. 综合测试: 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

启动顺序

  1. 启动API Backend(使用local配置)
  2. 启动Uniapp H5服务
  3. 启动Admin服务
  4. 执行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天)

  • 修复问题后重新测试
  • 验证所有测试通过
  • 生成测试报告

测试报告

报告内容

  1. 测试执行摘要
  2. 测试用例统计
  3. 测试覆盖率分析
  4. 失败测试详情
  5. 问题分类统计
  6. 修复建议
  7. 后续行动计划

报告格式

  • HTML报告(Playwright
  • JSON报告(自动化)
  • Markdown报告(文档)
  • PDF报告(归档)

成功标准

功能完整性

  • 所有核心功能测试通过
  • 所有API测试通过
  • 所有集成测试通过

性能要求

  • API响应时间 < 500ms
  • 页面加载时间 < 2s
  • 并发请求支持 > 100/s

稳定性要求

  • 测试通过率 > 95%
  • 无P0级别问题
  • 无安全漏洞

风险评估

高风险

  • API服务不稳定
  • 数据不一致
  • 权限控制缺陷

中风险

  • 性能不达标
  • 兼容性问题
  • 用户体验问题

低风险

  • UI细节问题
  • 文档不完整
  • 日志不详细

后续优化

短期优化(1周)

  • 修复高优先级问题
  • 优化测试用例
  • 完善测试报告

中期优化(1月)

  • 建立CI/CD流程
  • 增加测试覆盖率
  • 优化性能

长期优化(3月)

  • 建立自动化测试平台
  • 实现持续监控
  • 建立质量度量体系