Files
gochat/CDP_TESTING_HANDOFF.md
T
2026-07-27 15:49:23 +08:00

11 KiB
Raw Blame History

CDP Testing Handoff

更新日期:2026-07-27

权威文件:

  • 测试计划:/home/rogee/Projects/gochat/docs/qa/2026-07-15-cdp-user-function-test-plan.md
  • 测试报告:/home/rogee/Projects/gochat/docs/qa/reports/2026-07-15-cdp-user-function-report.md

当前环境基线:

  • backendhttp://127.0.0.1:3000
  • frontendhttp://127.0.0.1:3036
  • fakehttp://127.0.0.1:9100
  • 当前可用管理员账号:admin@gochat.local / changeme
  • 当前常用 Playwright 会话名:gochat_qa

1. 已经做完的测试任务和测试进度

当前这轮 click-only CDP 验收,最新报告已追加到:

  • 11.840

本轮已完成的主要测试批次如下。

1.1 Captain 子链路:本批次已完成

报告范围:

  • 11.785 - 11.799

已覆盖内容:

  • Captain 收件箱连接
  • 工具页进入、创建弹窗、空校验、Test connection
  • 自定义工具创建成功
  • Captain 设置页进入
  • 基础设置更新
  • 系统设置更新
  • 删除确认弹窗取消链路
  • Guardrails 页面进入与保存
  • Response guidelines 页面进入与保存

本批次 Captain 结论:

  • 页面主链路可达;
  • 已发现若干真实问题,主要是:
    • 首次列表请求 301
    • 中英混杂
    • 删除确认文案对象错误

1.2 Reports:本批次已完成

报告范围:

  • 11.800 - 11.827

已覆盖内容:

  • Overview
  • Conversations
  • Agents overview / detail
  • Labels overview / detail
  • Inboxes overview / detail
  • Teams overview / detail
  • CSAT
  • SLA
  • Bot report

本批次 Reports 结论:

  • 9 个可见报表页都已通过真实点击进入并留证据;
  • 已确认的主要缺陷:
    • 标签明细 多项接口 500:见 11.812
    • 团队明细 多项接口 500:见 11.823
    • 多个报告页仍有英文残留:11.80011.80411.81311.81611.82111.824
    • 机器人报告 可正常加载并切换日期范围:11.82611.827

1.3 Activities / Campaigns:进行中

报告范围:

  • 11.828 - 11.840

已覆盖内容:

  • 活动 -> 在线聊天
  • 活动 -> 短信
  • 活动 -> WhatsApp
  • 三个页面的 创建活动 入口
  • WhatsApp 创建表单的收件箱/模板空结果
  • 在线聊天创建表单的:
    • 收件箱选择
    • 发送者下拉
    • 仅在工作时间触发 开关
    • 取消 返回列表

本批次 Activities 当前结论:

  • 三个活动页都能通过真实点击进入;
  • 共有问题:
    • 页面同时渲染“示例活动卡片 + 空态”
  • WhatsApp 特有问题:
    • 页头和空态仍有英文
    • 收件箱、模板下拉都只返回 未找到结果。
  • 在线聊天创建表单目前已经证明:
    • Test Website Inbox1 可真实选中
    • 选中后会触发 GET /api/v1/accounts/1/inbox_members/1 -> 200
    • 发送者下拉可展开,候选项有 Bot / Super Admin / User01

1.4 进度总览

模块 当前状态 说明
Captain 本批次完成 11.785 - 11.799
Reports 本批次完成 11.800 - 11.827
Activities / Campaigns 进行中 11.828 - 11.840
Help Center 未在本批次续测 旧报告有覆盖,当前可继续回到计划顺序
Widget / public 入口 未在本批次续测 仍按高风险项处理
权限用户回归 未在本批次续测 仍属于后续待完成项
fake:ai 相关链路 未完成 仍缺本地假服务支撑

2. 未完成的测试任务

2.1 Activities / Campaigns 剩余任务

优先继续下面这些。

  1. 在线聊天 -> 创建活动

    • 验证最小必填是否能解锁 创建
    • 验证真实提交成功/失败链路
    • 验证创建后列表是否新增、状态是否正确
  2. 短信 -> 创建活动

    • 继续测:
      • 空校验
      • 最小必填解锁
      • 提交成功/失败
      • 取消
  3. WhatsApp -> 创建活动

    • 目前被表单数据缺口卡住:
      • inbox 下拉无结果
      • template 下拉无结果
    • 若后续补齐数据或修复页面,需要继续测:
      • 选择收件箱
      • 选择模板
      • 提交成功/失败

2.2 全量计划剩余任务

按计划文件第 9 节执行顺序,当前还没收尾的主要块:

  1. Help Center / Widget / public 入口
  2. Captain / Copilot 的真实 AI 效果链路
    • 需要 fake:ai
  3. 权限用户回归
    • agent
    • custom role

2.3 当前已知高风险 / 预期阻断

这些不是“数据空态”,而是已经应按产品缺陷记录的问题:

  • Help Center 后台三页空白主区
  • super admin 入口失效
  • widget / public 稳定点击入口缺失
  • 标签明细 报表多接口 500
  • 团队明细 报表多接口 500
  • Activities 页“示例卡片 + 空态并存”
  • fake:ai 尚未落地,Captain / Copilot 成功链路不能算完成

2.4 还需要补充的数据 / 测试支撑

下面这些没补齐时,很多页面只能做 render-only 或“入口可达”级别验证,不能算完整功能验收。

优先级 数据或支撑 当前作用
P0 2 个可登录 agent 分配、协作、在线状态、权限回归
P0 fake_01 inbox 持续可收发 会话主链路、实时消息、fake 回流
P0 1 个 website inbox(已带 website_token widget、campaign、public 入口
P0 至少 6 个 conversations,且每个 3 条 messages 列表、详情、筛选、报表
P1 labels 5 个、teams 2 个 标签/团队筛选、报表、自动化
P1 contacts 8+、companies 3+ CRM 列表、搜索、关联、详情
P1 canned responses 3 条、macros 3 条、automation rules 3 条 设置页 CRUD、回复提效、规则链路
P1 custom attributescontact / conversation / company 各 2 个) 详情表单、筛选器、自动化条件
P1 Copilot fake provider Copilot / Captain 页面联调
P2 Help Center portal/category/article 多条样本 help center 后台/portal/public 完整验收
P2 campaigns 样本:live chat / sms / whatsapp 各至少 1 条 活动列表、编辑、启停、触发条件
P2 CSAT 5 条、SLA 2 条、notifications 5 条、audit logs 5 条 报表、通知、审计页
P0 fake:ai Captain / Copilot 的成功 / 失败 / 超时 / 429 全链路断言

3. 如何进行功能测试

3.1 环境初始化

当前默认启动方式:

pnpm dev:backend
pnpm dev:frontend
GOCHAT_WEBHOOK_URL=http://127.0.0.1:3000/webhooks/fake/fake_01 FAKE_AUTO_REPLY=true pnpm fake:start

启动后至少确认:

lsof -iTCP:3000 -sTCP:LISTEN -n -P
lsof -iTCP:3036 -sTCP:LISTEN -n -P
lsof -iTCP:9100 -sTCP:LISTEN -n -P

通过标准:

  • 3000 backend 在监听
  • 3036 frontend 在监听
  • 9100 fake 在监听

3.2 每回合测试前固定动作

每次继续浏览器测试前都做下面几件事:

  1. 检查 npx
command -v npx
  1. 重读技能文件
  • /home/rogee/.codex/skills/playwright/SKILL.md
  • /home/rogee/.agents/skills/dogfood/SKILL.md
  • /home/rogee/.agents/skills/dogfood/references/issue-taxonomy.md
  1. 确认 Playwright 浏览器会话是否还活着
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
"$PWCLI" list
  1. 确认基础健康状态
curl -fsS http://127.0.0.1:3000/health
curl -fsS http://127.0.0.1:9100/health

3.3 测试约束限制

必须遵守的约束:

  1. 所有 dashboard 内部页面一律通过真实 UI 点击进入。
  2. 不允许直接打开:
    • /app/accounts/:id/... 深层内部 URL
  3. 允许直接打开的例外只有:
    • /app/login
    • widget/public 根入口
    • 必要的 fake / fake:ai 观察接口
  4. 页面能否“通过”必须以:
    • 前端真实请求成功
    • UI 真实可用 为准,不是只看路由存在。
  5. 证据必须持续追加到同一份报告,不新开分散文档:
    • /home/rogee/Projects/gochat/docs/qa/reports/2026-07-15-cdp-user-function-report.md

3.4 浏览器上下文丢失时的恢复方式

如果页面脏了、会话句柄失效、或者 tab 已不可信,恢复方法是:

  1. 先确认 3000 / 3036 / 9100 都还活着。
  2. 不直接跳内部深链。
  3. 只允许重新打开:
    • /app/login
  4. 用已知管理员账号重新登录:
    • admin@gochat.local / changeme
  5. 登录后再通过真实点击链路回到目标页面。

当前这条恢复路径已经被多次证明可用。

3.4.1 环境脏了时允许直接重置

这轮测试不要求“硬扛脏环境”。如果出现下面任一情况,应该先重置再继续:

  • dashboard 持续出现 正在重连...
  • /cable 持续断开或 401/403
  • 同一页面连续刷出大量 429
  • fake 平台残留旧消息,导致新链路证据混淆
  • 浏览器 tab 已明显失真,无法判断是真 bug 还是脏状态

推荐重置顺序:

  1. 先重置 fake,不动前后端:
curl -fsS -X POST http://127.0.0.1:9100/api/reset
curl -fsS http://127.0.0.1:9100/health
  1. 如果 dashboard 仍持续抖动,再重启 backend:
pnpm dev:backend
  1. 只有在 Vite 白屏、热更新异常、或静态资源 5xx 时,才重启 frontend
pnpm dev:frontend

重置后恢复标准:

  • http://127.0.0.1:3000/health 返回 200
  • http://127.0.0.1:9100/health 返回 {"status":"ok"}
  • 登录后不再持续出现 /cable 重连抖动
  • 当前目标页面可以重新通过点击链路进入

3.5 页面级留证要求

每个页面至少记录:

  • page.url
  • document.title
  • 关键文案 / 按钮存在性
  • console error / warning
  • 关键 API 请求和状态码
  • 操作前后快照路径
  • 如果失败,要有:
    • 复现路径
    • 请求
    • 响应
    • console
    • 影响等级

3.6 推荐续测起点

如果下一位接手人要马上继续,不要重新选模块,直接从这里继续最省:

  1. 登录进入 dashboard
  2. 点击:
    • 活动 -> 在线聊天
  3. 点击:
    • 创建活动
  4. 继续验证:
    • 标题 / 消息 / 网址 的最小必填是否会解锁 创建
    • 真实提交是否成功
    • 新建后是否回到列表并新增活动
  5. 若接手时当前页已脏,先走:
    • fake reset
    • /app/login
    • 重新登录
    • 再点击回 活动 -> 在线聊天 -> 创建活动

3.7 fake:ai 说明

当前 Captain / Copilot 的页面可渲染、列表/表单/设置链路已能测到一部分; 但真正的 AI 成功/失败/超时/429 链路,仍依赖本地 fake:ai

fake:ai 没落地前:

  • Captain / Copilot 不要宣称“全量完成”
  • 只能算页面级、表单级、请求级部分验收

4. 交接结论

当前最有价值的交接点不是“重新从头跑”,而是:

  1. 继续沿现有报告 11.840 往后追加;
  2. 先把 在线聊天 / 短信 / WhatsApp 的创建链路彻底打完;
  3. 再回到计划顺序,处理 Help Center / Widget / 权限用户回归;
  4. 单独补 fake:ai,否则 Captain / Copilot 只能停在半验收状态。