Files
cmautobuy/docs/task/179-稳定进入收货地址编辑页.md
T

52 lines
2.8 KiB
Markdown

# 179 稳定进入收货地址编辑页并限制修改重试
- 类型:缺陷
- 父级大工单:#1
- 所属 MVP / 版本:#2
- 状态:已完成,用户验收通过
- 日期:2026-08-12
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/179>
## 背景与目标
正式采购已经进入“收货地址”面板并找到唯一“修改”按钮,但单次点击没有打开编辑页。旧流程只点击一次并等待,最终误报页面切换超时。本任务让修改入口具备稳定识别和一次受控重试,同时保持保存、下单及不可逆门禁不变。
## 最终方案
- 地址面板连续两次出现相同的唯一“修改”目标后才点击。
- 首次点击无效时,只有最新控件树仍明确是同一地址面板、同一唯一目标再次稳定出现,才重试一次。
- 最多点击两次;进入编辑页立即停止,进入未知页面、候选变化或候选不唯一时不再点击。
- 编辑页可由“修改收货地址”标题或唯一详细地址编辑器识别。
- 地址页面超时记录期望页面、最后识别页面、点击次数和候选数量,并保存脱敏控件树。
- 保存按钮仍只点击一次,没有增加保存重试,也没有改动地址后缀、提交订单和不可逆门禁。
## 改了哪些
- `client/src/pdd_u2_purchase_adapter.py`:增加地址页面识别、稳定修改入口和最多一次受控重试,并补充脱敏超时诊断。
- `client/test/test_pdd_u2_purchase_adapter.py`:覆盖首次点击丢失、持续丢失、未知页面、候选歧义和原有完整地址流程。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| 地址面板稳定后才点击“修改” | 通过 |
| 首次点击无效且仍在原面板时允许第二次进入编辑页 | 通过 |
| “修改”最多点击两次,持续失败后停止 | 通过 |
| 页面未知、候选不唯一或候选变化时不重复点击 | 通过 |
| 保存按钮保持单次点击 | 通过 |
| 超时包含页面、点击次数、候选数量和脱敏控件树 | 通过 |
| 不可逆下单门禁未修改 | 通过 |
| Client 全量测试通过 | 通过 |
## 测试
- 执行的命令:在 `client` 目录执行 `C:/Python310/python.exe -m unittest discover -s test -p 'test_pdd_u2_purchase_adapter.py'`
- 结果:33 个采购 Adapter 测试全部通过。
- 执行的命令:在 `client` 目录执行 `$env:QT_QPA_PLATFORM='offscreen'; C:/Python310/python.exe -m unittest discover -s test -p 'test_*.py'`
- 结果:451 个 Client 测试全部通过;仅有测试环境 Qt 字体目录警告。
- **没验证到的部分**:未在真机重新执行采购;未点击真实地址页面、保存、提交订单或进入任何不可逆操作。
## 相关提交
- `7c56981` fix: 稳定进入收货地址编辑页 (#179)