macos-web/tests/README.md
2026-07-17 16:52:13 +08:00

3.2 KiB
Raw Blame History

macos-web 回归测试

可复现的 Playwright 端到端测试。生产页面不依赖 Node;仅测试代码依赖 Node 与 Playwright。

环境要求

  • Node.js ≥ 18
  • Playwright本环境为全局安装/home/kimi/.npm-global/lib/node_modules/playwrighthelpers.js 按此绝对路径 require如安装位置不同请修改 helpers.js 第 9 行)
  • Chromiumnpx playwright install chromium

运行

cd macos-web

# 全部用例16 组)
node tests/run.js

# 按名称/标题过滤,例如:
node tests/run.js 07        # 只跑 07-notify
node tests/run.js 锁屏      # 按标题关键字过滤

测试自带静态文件服务器(端口 8177占用时自动递增HTTP 与 file:// 两种冷启动均覆盖每个用例独立浏览器上下文localStorage 隔离)。

用例清单(对应修复任务书编号)

文件 覆盖
01-boot file:// / HTTP 冷启动到锁屏并解锁;控制台无未捕获异常(任务书测试 1/2/3
02-wm-close ①WM.close 重入不连删、confirmClose 防重入、取消保留;②锁屏/睡眠保留窗口与内容、关机脏文档确认可中止(任务书测试 7/8
03-menus ③首次打开 App 菜单可用;选择变化后重开菜单状态同步
04-finder ④历史前进后退/index 语义;⑤双击进入/打开、Cmd/Shift 多选、重命名、复制移动、废纸篓还原;⑥桌面重绘限制(任务书测试 4
05-terminal ⑦引号/转义 tokenizer、cp/mv 目标语义、rm -r、touch mtime、错误不重复
06-appstore ⑧安装前三处不可见、安装后出现、旧数据迁移不删用户文件、tv.png任务书测试 9
07-notify ⑨总开关/App 开关/专注模式/未读语义/Dock 局部更新/Esc 与点外关闭(任务书测试 10
08-media ⑩切源后全局音量仍生效、关闭注销、App 内滑块与全局一致(任务书测试 11
09-preview ⑪画廊点击开大图、无无限画廊、标题/缩放/alt/加载错误(任务书测试 12
10-datetime ⑫localDateKey、世界时钟 IANA 夏令时、时区设置保存生效
11-clock ⑬秒表/计时器跨标签恢复、endAt 唯一基准、只通知一次、关闭前提示(任务书测试 13
12-settings ⑭全部 pane 无异常加载、模拟状态持久化恢复、switch 完整 aria、搜索可达
13-responsive ⑮四视口截图tests/shots/、窗口不越界、Dock 收窄、英文不断行(任务书测试 15
14-textedit 文本编辑保存/另存为/取消关闭不落盘/跨 App 同步(任务书测试 5
15-persistence 刷新后文件/图标位置/主题/便笺恢复localStorage 损坏回退(任务书测试 14
16-assets 本地 assets 引用缺失数 = 0任务书测试 16

注意

  • headless Chromium 无 H.264 解码,视频用例依赖 WebM 回退源。
  • evaluate 调用会 await 返回的 Promise对会弹出对话框的 APIWM.closeSys.powerOffappState.save),测试中必须以语句形式调用(() => { ... }),不可直接返回其 Promise否则 Playwright 会挂起等待用户点击。