Files
Jyotisha/docs/testing/home-slow-network-20260924.md
T
2026-09-24 18:22:44 +08:00

42 lines
2.4 KiB
Markdown

# 慢网首页与账户点数真人验收清单(2026-09-24)
> 仅使用受控测试账号和虚构资料;不要记录姓名、出生资料、邮箱、Cookie、JWT 或完整会话内容。
## 自动化前置
- [ ] `tsc --noEmit` 通过。
- [ ] `npm run lint` 结果与进度记录一致;warnings 不得新增。
- [ ] 定向合同测试 65/65 通过。
- [ ] `npm test`、`npm run build`、`/` Static 与首屏 gzip 对比完成。
## Chrome Slow 3G 首页
1. 打开 Chrome DevTools Network,选择 Slow 3G,清空缓存并强刷 `/`。
2. 确认揭幕后只发生一次等待:未到齐前只有既有首页轨道环;账户、会话、模型和必要 bootstrap 数据齐后一次揭幕。
3. 确认揭幕后没有 spinner、骨架或「正在加载」;模型可选择,发送按钮可用,页面不再次询问已存在的称呼。
4. 在 provider 较慢、模型先到和模型较慢两种顺序各重复一次;确认没有首页+错误条的半揭幕。
## 模型失败与慢网错误屏
1. 用受控网络规则让 `/api/models` 失败、但账户/会话成功。
2. 确认首页不揭幕,显示「暂时无法进入 Jyotisha」错误屏,不出现模型不可用的半成品。
3. 让请求持续超过 20 秒;确认显示现有全屏错误屏。
4. 恢复网络后点击「重试」,确认只重跑请求并进入首页;在 DevTools 断点或脚本中确认没有调用 `location.reload()`。
## 账户与点数
1. 正常打开账户菜单,将指针移到「账户与点数」,观察动态 chunk 和 `/api/payment/packages` 预取。
2. 首次打开确认 chunk 未到时显示静态句「账户信息还没拿到。」,不显示 spinner;套餐接口只请求一次。
3. 关闭后第二次打开,确认 60 秒内套餐立即显示,网络请求为 0 或后台刷新一次。
4. 兑换成功后确认余额通过共享事件更新;支付成功轮询后确认余额更新;Network 中不出现由面板挂载触发的额外 `/api/account`。
5. 在离线状态把指针移到「账户与点数」,确认预取失败不触发整页自动刷新;恢复网络后由用户重新打开或重试。
## 结果记录
- 浏览器 / 版本:
- 账号类型(不要写账号标识):
- 测试时间:
- 通过项:
- 未通过项与脱敏截图路径:
- 环境缺口:无 Chrome、无受控账号或无法模拟网络时填写,不得写成通过。