You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

4.9 KiB

04 — E2E 全量复跑(API 四套件 + 主 demo 冒烟)

Type: task Status: resolved Blocked by: 02, 03

Question

全部代码变更(票 01/02/03 修复)落地后,E2E 复跑收口:

  • 起服:本地 8080(verify profile + CRM_MINIO_AK/SK;8080 现停);构建 clean package 全反应堆(先停服解锁 fat jar 再 clean)。
  • API 四套件(py -X utf8):e2e-core-r2 / e2e-heavy(F-13 副作用——跑完还原 collab owner 四字段)/ e2e-incr / e2e-graph,幂等重跑稳定、残留正门清扫。
  • 补断言:workspace 列表 focusFlag(core F-09 族或列表断言处)。
  • 主 demo Playwright 冒烟:对齐 demo_smoke_graph 形态,覆盖收编后全交互(含图谱编辑器拖拽/定级),console error=0、零 PUT/DELETE、截图存档、DB 正门清扫。
  • 产物:checks/specimens JSON + 冒烟结果 JSON,供票 06 报告引用。

Answer(2026-09-11)

四套件 + 主 demo 冒烟全绿,0 新缺陷;3 warn 全部有定性(设计内/豁免)。

1. 起服与构建

  • 构建:IDEA 捆绑 maven(3.9.9)+ corretto-17 全反应堆 clean package -DskipTests,fat jar 124MB(首次 crm-customer/target 被瞬时句柄锁致 clean 失败,重跑即过;EXIT=0);日志 .scratch/customer-frontend-handover/build-t04.log
  • 起服:verify profile + CRM_MINIO_AK=admin / CRM_MINIO_SK=***,debug/token 探针 200;收工已停 8080。

2. API 四套件(解释器 py -X utf8

套件 结果 备注
e2e-core-r2 0 fail / 0 warn(复跑) 首跑 2 fail = 种子漂移(collab owner 翻转回 admin、followFuture 锚点过期)→ 复用 db-fix-t04.py 修复后复跑全绿;含票 01 focusFlag 补断言 ×2
e2e-heavy-r2 0 fail / 0 warn 复跑前置生效:clean-notice-t04.py(5 条失效 pending_notice)+ reset-anchor-t04.py(followOld 锚点重置 30 天前);teardown 已还原 owner;比上轮少 4 warn(F-15 前置清理到位)
e2e-incr 0 fail / 2 warn I-01 oplog 文案取证型(设计内);I-06 pool·board 契约漂移 probe(code=0,票 03 已定性非缺陷,归票 05 文档侧处置)
e2e-graph 0 fail / 1 warn 唯一 warn = D-G1(batchEdit 空串清空不可达)——chart 拍板 2 已豁免

3. focusFlag 补断言(票 01 交付的真 API 验证)

e2e-core-r2.py F-09 增 2 例:focus 后 workspace/page 列表行 focusFlag=1(阶段-潜在-甲/星级-五星)、unfocus 清扫后 focusFlag=0。两例全过——列表关注列在真实 API 上验证通过。

4. 主 demo 冒烟(新脚本 demo_t04_smoke.py,35 步 ALL_PASS)

  • 形态对齐 demo_smoke_graph:真实 API 反代(page.route 剥 origin/注入 Bearer/补 CORS + multipart upload 分流 Python 直调),夹具 e2c-t04-{TS} 客户 + quickAdd 4 联系人。
  • 覆盖:列表检索+focusFlag 星标/toggleFocus(DB customer_focus 取证)/contactsShell/图谱视图(公司边只连 lv10 顶层)/reveal 双写(DB reveal_log)/quickAdd/batchEdit(DB 回显)/图谱编辑器真实鼠标拖卡位移+拖线 pending→save→DB edge 取证→切走重进持久/拖卡入等级行定级 6→DB level 落库/删边→DB 删净/cimp 导入三段式(预检共 2 行→确认→轮询已完成→失败明细 1→DB 导入甲落库)/export/delContact/页签互斥。
  • 网络层:console/page error=0、零 PUT/DELETE、12 端点族可及 11 全触发。
  • 清扫:e2c-t04* 夹具 DB 硬删正门(含 customer_focus);截图 shots-t04/*.png ×8;结果 t04-smoke-result.json。
  • 脚本调试过程坑(已固化在脚本内):① 公司派生边仅 lv10 顶层联系人(断言从 3 修正为 1);② customer_contact 软删列 = deleted(BaseEntity @TableLogic,非 delete_key);③ btnGraphEdit 是 toggle 且 saveGraph 成功后保持编辑态——再点=退出,须按 G.editing 守卫;④ delContact 行数须计入导入甲(6→5)。
  • 解释器注意:venv10 原无 pymysql/openpyxl,已补装(playwright+pymysql+openpyxl 同环境)。

5. 残留与数据态收尾

  • final-clean-t04.py:collab owner 四字段还原(曾偲青/职员)✓;5 条非 seed 活跃 e2c-(core F-12 重跑产生的同名 create 客户)正门 archive ✓;活跃 e2c-* = 16 = seed 样例数。
  • heavy F-13 副作用本轮无残留(teardown 增强 + final-clean 幂等还原双保险)。

6. 产物清单(票 06 引用)

  • JSON:.scratch/customer-e2e-r2/{e2e-core-r2-checks,specimens-core-r2,e2e-heavy-r2-checks,specimens-heavy-r2,e2e-incr-checks,specimens-incr}.json + .scratch/customer-contact-graph/{e2e-graph-checks,e2e-graph-specimens}.json + 本目录 t04-smoke-result.json
  • 日志:本目录 {build,server,core-r2,heavy-r2,incr,graph,smoke}-t04.log;冒烟截图 shots-t04/(8 张)。
  • 新脚本:demo_t04_smoke.py(本目录)。