Files
wecom_it_smart_desk/docs/03-测试文档/03-功能测试用例/TC-用户-005-头像菜单退出.md
T
Simon a8da4da0db docs(会话-001/用户-005): 版本合并与文档规范化整改 #9
REQ-会话-001 员工结束会话:
- PRD/原型 v1.0/v1.1/v1.2 归档为 .archive,现行收敛至单一 v1.3
- 技术方案 v1.2 归档,v1.3 为现行版本(位于 docs/02-技术文档/)
- PRD v1.3 §六 关联文档表指向 v1.3 原型与技术方案实际路径
- 三份任务说明书 + BUG-003 + TC-用户-008 引用同步至 .archive/v1.3

REQ-用户-005 头像菜单退出:
- PRD/原型/技术方案文件名 v1.0 -> v1.1,追平内容版本(铁律2)
- 三件套 + 任务说明书 + TC 互引版本对齐,相关 PRD 指向会话-001 v1.3

其他:
- 修复 4 处 UTF-8 乱码(U+FFFD)
- 新增 TR-会话-001-结束会话-v1.3.2 端到端测试报告(单测 75/75 + 生产构建通过)
- 整改记录 #9 写入 00-文档规范化整改记录.md

遗留: PRD v1.3「状态条永久显示」与代码 v1.3.5「状态条已删除」存在分歧,待产品拍板
2026-08-03 23:53:59 +08:00

5.8 KiB
Raw Blame History

测试用例 — 员工端结束会话固定按钮

关联需求编号: REQ-用户-005 关联PRD: 01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.1.md 关联技术方案: 02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.1.md 版本: v1.1 日期: 2026-07-26 作者: Simon 测试类型: 功能测试


一、功能验收(7 项)

TC-001 点击「结束会话」按钮弹出确认框

  • Given 员工已登录,处于聊天页(/h5/
  • When 点击标题栏头像右侧的「结束会话」按钮
  • Then
    • 确认对话框(van-dialog)弹出
    • 标题为"结束会话"
    • 消息含"退出后会话记录会清空"
    • 按钮:左侧"取消"(灰色),右侧"确定退出"(红色)

TC-002 点击「取消」关闭确认框

  • Given 确认对话框已弹出
  • When 点击「取消」按钮
  • Then
    • 对话框关闭
    • 回到聊天页,会话状态不变
    • 消息列表完整保留
    • 不发起任何 API 请求

TC-003 确认退出 — 有活跃会话(完整流程)

  • Given 员工有活跃会话(AI 对话中),处于聊天页
  • When 点击确定退出
  • Then
    • Loading 状态显示(按钮 loading 或 toast
    • 后端 POST /h5/conversations/current/close 被调用(检查 Network 面板)
    • 后端 POST /api/auth/logout 被调用
    • 前端 Token 被清除(localStorage 中无 token
    • 页面跳转到 /h5/login(或窗口关闭)
    • 总耗时 < 3 秒

TC-004 确认退出 — 无活跃会话

  • Given 员工刚登录,尚未发起任何对话(无活跃会话)
  • When 点击确定退出
  • Then
    • 不调用 close API(跳过步骤1
    • 直接调用 POST /api/auth/logout
    • 流程正常完成,跳转 /h5/login
    • 无控制台报错

TC-005 「结束会话」按钮 hover 态视觉反馈(桌面端)

  • Given 桌面浏览器访问 H5 员工端
  • When 鼠标悬停在「结束会话」按钮上
  • Then
    • 光标变为手型(cursor: pointer
    • 按钮背景填充红色(#ee0a24)、文字变白色
    • 无布局抖动

TC-006 退出后 Token 失效

  • Given 已完成退出流程,跳转到 /h5/login
  • When 手动在地址栏输入 /h5/ 并回车
  • Then
    • 路由守卫拦截,重定向到 /h5/login
    • 不闪现聊天页内容

TC-007 企微 WebView 真实环境退出

  • Given 企微 APP 内打开 H5 员工端
  • When 执行完整退出流程
  • Then
    • 窗口成功关闭(或跳转登录页作为降级)
    • 不出现白屏或错误页
    • 无 JS 报错

二、边界验收(5 项)

TC-008 close API 失败不阻塞退出

  • Given 员工有活跃会话
  • When 模拟网络故障(DevTools 阻断 /h5/conversations/current/close),然后点击确定退出
  • Then
    • Toast 提示"会话关闭失败,继续退出…"
    • 流程继续执行(仍然调用 logout API)
    • 最终正常跳转 /h5/login

TC-009 logout API 失败留在当前页

  • Given 员工处于聊天页
  • When 模拟网络故障(DevTools 阻断 /api/auth/logout),然后点击确定退出
  • Then
    • Toast 提示"退出失败,请稍后重试"
    • 页面不跳转,停留在聊天页
    • 用户可重新尝试退出
    • Token 和会话状态未被清除

TC-010 防重复点击

  • Given 确认对话框已弹出
  • When 快速连续点击「确定退出」按钮 2 次以上
  • Then
    • 只发起一次 API 调用流程
    • 不出现重复的 close/logout 请求
    • 不会同时跳转两次

TC-011 退出后 WebSocket 断开

  • Given 退出前 WebSocket 连接正常
  • When 完成退出流程
  • Then
    • WebSocket 连接断开(DevTools Network WS 标签确认)
    • 无 WebSocket 重连尝试
    • 无心跳包继续发送

TC-012 InputBar「结束咨询」按钮不受影响

  • Given 人工服务态,InputBar 显示「结束咨询」按钮
  • When 点击 InputBar 的「结束咨询」按钮
  • Then
    • 流程与改造前完全一致(弹出评价 → 提交 → 会话关闭)
    • 头像菜单功能不影响此流程
    • 两个出口独立运作,互不干扰

三、暗黑模式(1 项)

TC-013 暗黑模式下按钮和对话框样式正确

  • Given 切换到深色主题
  • When 查看「结束会话」按钮,然后点击触发确认对话框
  • Then
    • 「结束会话」按钮颜色适配暗色(CSS 变量自动处理)
    • 按钮文字可读(对比度足够)
    • 确认对话框(van-dialog)适配暗色

测试环境要求

环境 要求
浏览器 Chrome / Edge 最新版
移动端 企微 iOS/Android 最新版
后端 开发环境或 staging/api/auth/logout + /h5/conversations/current/close 可用
网络 需能模拟断网/阻断特定请求(Chrome DevTools Network 面板)

测试结果记录

用例编号 结果 测试人 日期 备注
TC-001 待测 点击按钮弹出确认框
TC-002 待测 取消返回
TC-003 待测 有活跃会话完整退出
TC-004 待测 无活跃会话退出
TC-005 待测 按钮 hover 态
TC-006 待测 Token 失效验证
TC-007 待测 企微真实环境
TC-008 待测 close API 失败
TC-009 待测 logout API 失败
TC-010 待测 防重复点击
TC-011 待测 WS 断开
TC-012 待测 InputBar 互不干扰
TC-013 待测 暗黑模式

文档结束