# Reasonix Browser Test: Batch A3 task474 Local Folder Empty Trash UI 项目根目录:`/mnt/Data1T/mnote` 请先阅读并遵守:`/home/lix/.codex/skills/reasonix-browser-tester/SKILL.md` ## 角色 你是浏览器测试员,不是代码修改员。 禁止修改源码、禁止 git commit、禁止回滚文件。只允许创建测试输出目录、临时测试数据、截图和测试结果文件。 ## 测试目标 验证 `task474-local-folder-empty-trash-ui-smoke.js` 在当前最新 `mnote-web` 上覆盖 local folder 垃圾箱清空 UI: - 清空页面垃圾箱按钮可点击并触发 confirm。 - 清空后 Markdown trash row 消失。 - 清空资源垃圾箱按钮可点击并触发 confirm。 - 清空后资源 trash row 消失。 - 两次清空操作都不触发非预期 main frame navigation。 - `trash-index.json` 最终为空,trash 文件已删除。 ## 前置 - 被测入口:`http://127.0.0.1:3014` - 3014 是 Codex 为本轮验证启动的最新 mnote-web 临时进程。 - 使用真实浏览器或 Playwright。 - 使用全新的 isolated browser context / userDataDir;测试开始前清空 cookies、localStorage、sessionStorage、IndexedDB、Cache Storage。 ## 操作 1. 运行: ```bash cd /mnt/Data1T/mnote node --check scripts/task474-local-folder-empty-trash-ui-smoke.js MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3014 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable MNOTE_KEEP_SMOKE_TMP=1 node scripts/task474-local-folder-empty-trash-ui-smoke.js ``` 2. 读取 `tmp/task474-local-folder-empty-trash-ui-smoke/result.json`。 3. 打开 result 中的 `root` 对应 `/trash?sourceKind=local_folder&rootUri=file://...` 页面,截图清空后的 trash workbench 状态。 4. 记录: - `ok` - `emptyDocuments.navDelta` - `emptyResources.navDelta` - `emptyDocuments.mdEntryClean` - `emptyResources.assetEntryClean` - `steps.length` - 最终页面是否显示页面垃圾箱 / 资源垃圾箱为空状态或对应按钮 disabled ## 输出目录 `/mnt/Data1T/mnote/tmp/reasonix-batch-a3-browser-task474-empty-trash-2026-05-21/` 必须输出: - `result.json` - `final.md` - 至少 1 张截图;失败时必须截图。 ## 判定 - `PASS`:语法检查和 smoke 实跑 exit 0,`result.json.ok=true`,两个 navDelta 都为 0,页面与资源 entry 均清理,且截图显示清空后的 trash workbench。 - `FAIL`:脚本退出非 0,或 no-navigation / entry 清理 / UI 清空断言失败。 - `BLOCKED`:3014 不可达或浏览器无法启动。