Files
mnote/.codex/reasonix-tasks/2026-05-21-office-upload-open-clean-browser.md
T

58 lines
2.5 KiB
Markdown
Raw Normal View History

2026-05-21 05:40:06 +08:00
你是浏览器测试员,不是代码修改员。
禁止修改源码、禁止 git commit、禁止回滚文件。
使用真实浏览器或 Playwright 验证。
所有截图和 result.json 写入指定输出目录。
失败时保留 console/network 摘要。
最终只汇报测试证据,不提出未经验证的代码结论。
# Reasonix 浏览器测试任务:Office 中文 docx 上传并打开
## 输出目录
`/mnt/Data1T/mnote/tmp/reasonix-office-upload-open-clean-2026-05-21/`
## 测试入口
- URL: `http://127.0.0.1:3000`
- 登录:访问 `/auth`,点击“测试账号快速登录”
- 必须使用全新 isolated browser context / userDataDir。
- 测试开始前清空 cookies、localStorage、sessionStorage、IndexedDB、Cache Storage。
## 测试文件
上传真实文件:
`/home/lix/Downloads/重庆发展特殊化妆品可行性报告_政府汇报版.docx`
## 测试步骤
1. 创建临时 local-first workspace,至少包含 `Alpha.md``.mnote/workspace.json`
2. 打开 `Alpha.md` 页面。
3. 上传上述 docx 到当前页面,记录上传 API 状态、耗时、返回 asset。
4. 点击或派发真实 UI 等价操作打开该 docx 附件到主编辑器资源 tab。
5. 等待 OnlyOffice iframe 内部进入稳定状态,最长 90 秒。
6. 截图最终打开效果,截图必须显示以下之一:
- Office 文档内容区 / 编辑器 UI 已可见。
- 明确的 OnlyOffice 错误面板或连接失败信息。
7. 记录 console errors、failed requests、OnlyOffice WebSocket / polling URL。
8. 检查 WebSocket / polling URL 的 doc key 是否为安全 key,不包含 `/``:`、中文字符。
## 判定规则
- `PASS` 不能只因为 upload 200、resource tab active 或 iframe 存在。
- 如果出现 `errorCode=-18``连接失败`、WebSocket handshake failed、polling failed,标记为 `FAIL``BLOCKED`,并截图。
- 如果页面上传后卡死、刷新后无法恢复、需要重新登录,标记为 `FAIL`
- 如果 DocumentServer 未运行或代理不可达,标记为 `BLOCKED`,并记录服务状态和网络错误。
## 输出要求
- `result.json`
- `overallStatus`: `pass` / `fail` / `blocked`
- `freshContext`: 是否使用全新上下文并清空缓存
- `upload`: status、elapsedMs、asset
- `open`: tabKind、iframeSrc、officeReady、visibleTextOrError
- `onlyofficeNetwork`: websocketUrls、pollingUrls、failedRequests
- `docKeySafety`: safe、observedKeys、unsafeReasons
- `screenshots`: 最终截图路径
- `final.md`:简要步骤、观察、结论、截图路径。