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.
59 lines
4.9 KiB
59 lines
4.9 KiB
|
1 day ago
|
# 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`(本目录)。
|
||
|
|
|