docs: 归档任务 #155
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# #155 Client:兼容非滚动规格面板的颜色节点定位
|
||||
|
||||
- 工单号:#155
|
||||
- 类型:缺陷
|
||||
- 父级:Epic #1、MVP #2
|
||||
- 版本:Client 可运行任务闭环
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-11
|
||||
- Gitea:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/155>
|
||||
|
||||
## 背景与目标
|
||||
|
||||
Client 已能打开并解析新版非滚动规格面板,但采集商品
|
||||
`897186799891` 时仍提示“规格面板没有可识别的颜色分类”。目标是让颜色
|
||||
点击节点定位与规格解析使用同一套面板边界,并正确识别该页面的全部颜色。
|
||||
|
||||
## 最终方案
|
||||
|
||||
1. `_find_option_node()` 继续支持旧版可滚动容器,同时接受位于强证据确认的
|
||||
非滚动规格面板中的可点击节点。
|
||||
2. 保留文字精确匹配、有效坐标、最小宽度和屏幕安全边界检查,不对普通页面
|
||||
增加无条件回退。
|
||||
3. 实施中发现非滚动面板的按钮宽度按文字长度变化,旧版“最宽按钮 60%”规则
|
||||
会误删短名称颜色。因此只在强证据确认的非滚动面板中跳过相对宽度过滤;
|
||||
旧版可滚动面板继续保留该过滤规则。
|
||||
4. 增加正向和负向回归,分别验证非滚动面板的3行5色结构,以及普通页面的
|
||||
同名可点击文字不会被当成规格选项。
|
||||
|
||||
最终方案与建单方案目标一致;新增的按钮宽度处理来自实施中的第二层根因,已
|
||||
在 Gitea 工单记录。
|
||||
|
||||
## 改了哪些文件
|
||||
|
||||
- `client/src/pdd_collect_service.py`:兼容非滚动面板的颜色节点及自适应按钮宽度。
|
||||
- `client/test/test_pdd_collect_service.py`:增加颜色行识别和普通页面拒绝测试。
|
||||
|
||||
## 验收结果
|
||||
|
||||
- [x] 脱敏非滚动面板识别为3行、共5个颜色节点。
|
||||
- [x] 颜色文字、可用状态和点击坐标均被保留。
|
||||
- [x] 现有可滚动规格面板测试继续通过。
|
||||
- [x] 普通页面中的同名可点击文字不会被当作规格选项。
|
||||
- [x] 未增加 sleep 或扩大超时时间。
|
||||
- [x] 采集服务精确测试、完整 Client 测试和语法检查通过。
|
||||
- [ ] 用户使用真机重新采集商品 `897186799891` 验收。
|
||||
|
||||
## 测试
|
||||
|
||||
在 `client/` 目录执行:
|
||||
|
||||
```powershell
|
||||
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_collect_service.py"
|
||||
C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
|
||||
C:/Python310/python.exe -m py_compile src/pdd_collect_service.py test/test_pdd_collect_service.py
|
||||
```
|
||||
|
||||
结果:采集服务42项通过,Client完整396项通过,语法检查通过。本次真实失败
|
||||
XML 只读复验得到3行、共5个颜色。
|
||||
|
||||
未验证到的部分:未使用真机重新采集商品 `897186799891`;未执行采购、下单
|
||||
或付款。
|
||||
Reference in New Issue
Block a user