Files
EchoChat/test-report-phase2d.md

4.4 KiB
Raw Blame History

Phase 2d Playwright 端到端测试报告

最后更新2026-04-17

测试概述

项目 内容
测试阶段 Phase 2d — 消息类型扩展
测试工具 Playwright MCP Browser Automation
测试范围 前台用户端 + 后台管理端
测试日期 2026-04-17
测试结果 全部通过7/7 测试项)

基础环境

服务 地址 状态
Go 后端 http://localhost:8080 运行中
前台用户端 http://localhost:5173 运行中
后台管理端 http://localhost:3100 运行中
PostgreSQL localhost:5432 Docker 运行中
Redis localhost:6379 Docker 运行中
MinIO localhost:9000 Docker 运行中

测试结果明细

1. 前台用户端 — 单聊输入栏改造

测试项 结果 说明
语音切换按钮存在 voice-toggle-btn 正确渲染
文本输入模式 默认显示文本输入框
语音模式切换 点击切换为"按住 说话"
键盘模式回切 再次点击恢复文本输入
"+" 按钮存在 more-btn 正确渲染
MorePanel 展开 点击展开,显示"图片"和"文件"选项

2. 前台用户端 — 群聊输入栏改造

测试项 结果 说明
群聊输入栏结构 与单聊一致的改造结构
语音/键盘切换 功能正常
MorePanel 功能正常

3. 管理端消息列表 — 基础展示

测试项 结果 说明
侧边栏菜单 "消息管理"含"消息列表"和"消息统计"子菜单
筛选区域 关键词、类型、状态、发送者ID、时间范围
表格列头 ID、发送者、类型、内容、状态、会话ID、发送时间、操作
消息数据 正确显示发送者头像+昵称+ID消息类型标签内容预览
分页 共 141 条20条/页8页支持跳转
操作按钮 详情、撤回、删除(已撤回消息无撤回按钮)

4. 管理端消息列表 — 筛选功能

测试项 结果 说明
关键词搜索 搜索"测试"→ 141→31 条
类型筛选 下拉含文本/图片/语音/文件/系统,选"系统"→15条
发送者ID筛选 输入 15 → 4 条(周和智的消息)
重置 点击重置回到 141 条

5. 管理端消息列表 — 操作功能

测试项 结果 说明
详情弹窗 显示发送者头像+昵称、状态标签、ID/发送者ID/会话ID、消息类型、发送时间、完整内容
撤回确认弹窗 显示"确定要撤回消息 #125 吗?"+ 取消/确定撤回按钮
撤回执行 撤回后内容变为"[已撤回]",状态变为"已撤回",撤回按钮消失
删除确认弹窗 显示"确定要删除消息 #125 吗?"+ 取消/确定删除按钮
删除执行 删除操作成功执行,弹窗关闭

6. 管理端消息统计 — 基础数据

测试项 结果 说明
顶部卡片 消息总数: 141今日消息: 4
时间切换 "近 7 天"/"近 30 天" 单选按钮正常切换

7. 管理端消息统计 — 图表渲染

测试项 结果 说明
消息趋势(线图) 正确渲染04-17 显示 4 条消息tooltip 正常
类型分布(饼图) 显示文本和系统消息两种类型分布
活跃用户 Top 10条形图 显示卜锦元(最活跃)和段凌云
活跃群组 Top 10条形图 空数据时正常渲染(近期无群聊消息属正常数据表现)

已知限制

  1. 富媒体消息测试:图片/语音/文件上传功能需要真实的文件选择和设备权限如麦克风Playwright 浏览器自动化无法完全模拟这些原生 APIuni.chooseImageuni.getRecorderManager),此部分需手动测试
  2. WebSocket 实时推送测试:管理端撤回消息后的 WS 推送通知需要多浏览器窗口同时在线的场景,单窗口 Playwright 测试无法覆盖

结论

Phase 2d 的核心功能均通过端到端测试验证:

  • 前台用户端的输入栏改造(语音切换 + MorePanelUI 正常
  • 管理端消息列表的筛选、详情、撤回、删除功能完整
  • 管理端消息统计的 ECharts 图表渲染和时间切换正常