4.2 KiB
05 · demo Playwright 扩展冒烟
Type: task Status: resolved Blocked by: 03, 04
Claimed: 2026-09-06 · wayfinder 工作会话(frontier 首票) Resolved: 2026-09-06
Question
demo 页新入口(票 03 产物)纳入 UI 冒烟,扩展 round-1 的 11 步脚本:
- 脚本扩展:从
demo_smoke10.py扩展新入口步骤——战略协议 CRUD、查重设置保存回读、批量工商(NO_HIT 呈现)、导入带 duplicateStrategy;建议复制为demo_smoke_r2.py保留 11 步基线(取舍票内定) - 执行:
.scratch/customer-e2e/.venv10复用(chromium-1234 已缓存零下载);?api=http://localhost:8080注入 + file:// 跨域 + OPTIONS 预检链路照旧 - 门槛:全步骤 PASS、console error = 0、page error = 0、网络层断言零旧契约调用(
/api/customer/\d+/、PUT/DELETE) - 已知坑位(round-1 票 10 实测沉淀):loadHead 重渲染吃掉动态输入框(reload + 重点 detail tab)、member 双分支防御性预清理、confirmSimilar 双分支等待——新步骤沿用这些模式
- 残留清理:UI 冒烟造的数据(协议/设置/导入)e2c- 前缀正门清理;查重设置是全局单例,测试后恢复出厂值(masterEnabled=false 或原值)
Answer(2026-09-06 落地收官)
执行环境:fat jar 直接复用票 04 重建版(22:29,无需重打);corretto-17(C:\Users\Administrator\.jdks\corretto-17.0.13)+ verify profile + MinIO env 起服 ~40s 判活;Playwright 走 .venv10(chromium-1234 零下载)。
脚本形态(票内拍板):新建 demo_smoke_r2.py 复制扩展而非原地改,保留 smoke10 11 步基线(详情页签循环 5→6 加 agreements 只读过一遍)+ 4 个新入口步骤块 + 三段收尾清理(协议清扫 / dedup 兜底恢复 / e2c-r2demo-浏览器* archive 正门)。
结果:20 步全 PASS,首轮一次过;console_errors=0、page_errors=0、网络层 57 请求零旧契约形态(/api/customer/<digits>/=0、PUT/DELETE=0)。
四个新入口逐项:
- 战略协议 CRUD(五端点闭环):create(level=2, amount=300万-r2)→ 客户快照同步实证(info.grid 战略协议='2')→ edit(对话框预填断言 level=2 → 升三级)→ detail(三级)→ 原生 confirm 删除流(Playwright dialog accept)→ 列表空。实测
agreement/delete为软删(DBdeleted=1墓碑、list 端点已过滤)——DB 复核口径按deleted=0。 - 查重设置(全局单例):save(阈值 66/精确/phone=0)→ 重入 tab 触发 loadDedup 回读断言 → UI 恢复原值 → 起测前 GET 原值无条件 POST 兜底恢复双保险;DB 终态 = 原值(master=1/name=1/mode=2/threshold=80/phone=1)。
- F6 批量工商:勾选自建客户 1 行 → batch-update → 结果行=1 且「未命中」徽标命中——stub 恒 NO_HIT 如实呈现语义通过。
- F8 导入策略:
#impStrategy=OVERWRITE→ 上传预检 toast 回显策略=OVERWRITE(t=1 suspect=1;只预检不 confirm)。
BUDDY 归属解耦(票 04 移交项落实):协议/F6 全部挂自建客户(owner=admin);交割只 page+preview 不 initiate(规避 heavy F-13 同款名下全量圈定);事后 DB 复核 collab owner 仍=曾偲青 未漂移。
残留终态(DB 实扫 scan-residue-t05.py):r2demo 客户 arch=2、协议活行=0、成员位无活跃 BUDDY 行(member/remove 软删墓碑 ×3)、e2c-* 活跃 16 = seed 基准、dedup 单例原值;导入留 2 条任务痕迹(round-1 DRAFT + 本轮预检,无业务写入,对齐 heavy F-14 先例不清理)。服务已停(8080 释放)。
坑位沉淀:① settings 重入的「已加载」toast 有残留竞态——回读断言改盯控件值 + 900ms 等 GET 覆盖;② customer_team_member 列名是 user_id/member_role(不是 member_user_id/role);③ Playwright 原生 confirm 需 page.once("dialog", accept) 且注册先于点击。
产物索引:.scratch/customer-e2e/demo_smoke_r2.py / demo-smoke-r2-result.json / shots-r2/×11;.scratch/customer-e2e-r2/scan-residue-t05.py。无新缺陷、无新 fog;frontier → 06(report-v2 聚合,API 三套件 + UI 冒烟四路输入全齐)。