正式采购任务 cg16 修改详细地址后点击保存,但保存动作没有生效。Client 随后按现有逻辑轮询约 10 秒,最后仍识别为地址编辑页并报告 PURCHASE_ADDRESS_PAGE_TIMEOUT。诊断确认不是保存后完全没有等待,而是输入后只等待 0.2 秒便立即点击,地址表单或保存按钮可能尚未稳定;保存按钮按安全规则只点击一次,因此单次点击丢失后只能超时。
PURCHASE_ADDRESS_PAGE_TIMEOUT
复现结果:期望页面为 saved,最后页面为 edit,未出现 ColorOS 密码浮层,也未执行系统返回。
saved
edit
client/src/pdd_u2_purchase_adapter.py
_wait_after_address_save()
PURCHASE_ADDRESS_SAVE_NOT_EFFECTIVE
client/test/test_pdd_u2_purchase_adapter.py
预计修改:
从 client/ 执行:
client/
C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_u2_purchase_adapter.py" $env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -m unittest discover -s test -p "test_*.py" Remove-Item Env:QT_QPA_PLATFORM git diff --check
需要真机执行一条新的正式采购任务,确认地址编辑页稳定后单次保存能够返回地址面板并继续原采购流程。
保存前等待会小幅增加地址步骤耗时,但不触及不可逆阶段。稳定证据不足时必须停止,不能用重复保存换取成功率。若出现回归,可独立回退本工单提交,恢复原单次读取后保存逻辑。
已完成代码和自动测试:
PURCHASE_ADDRESS_SAVE_NOT_READY
PURCHASE_ADDRESS_INPUT_MISMATCH
验证:采购 Adapter 48 项全部通过;Client 全量 470 项中 468 项通过。另 2 项仍是用户工作区 src/version.py=0.1.2 与两个旧更新测试固定期待 0.1.0 的既有失败,与 #191 无关。
src/version.py=0.1.2
0.1.0
27a0e8c
fix: 稳定地址表单后单次保存 (#191)
cd160e9
docs: 归档任务 #191
docs/task/191-稳定地址表单后单次点击保存.md
采购 Adapter 48 项全部通过,语法和差异检查通过。Client 全量 470 项中 468 项通过;另 2 项仍是用户工作区版本号 0.1.2 与旧更新测试固定期待 0.1.0 的既有失败,与 #191 无关。
0.1.2
当前状态:待用户使用真机执行新的采购任务,确认地址表单稳定后单次保存能够返回地址面板并继续采购。工单保持打开,Epic #1 和 MVP #2 清单保持待验收。
用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:ad44f83。现关闭工单。
ad44f83
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
正式采购任务 cg16 修改详细地址后点击保存,但保存动作没有生效。Client 随后按现有逻辑轮询约 10 秒,最后仍识别为地址编辑页并报告
PURCHASE_ADDRESS_PAGE_TIMEOUT。诊断确认不是保存后完全没有等待,而是输入后只等待 0.2 秒便立即点击,地址表单或保存按钮可能尚未稳定;保存按钮按安全规则只点击一次,因此单次点击丢失后只能超时。复现结果:期望页面为
saved,最后页面为edit,未出现 ColorOS 密码浮层,也未执行系统返回。做什么 / 不做什么
怎么做
client/src/pdd_u2_purchase_adapter.py增加保存前稳定读取方法:连续两次读取到目标详细地址完全一致、页面为编辑页、保存按钮唯一且坐标相同,才认为可保存。_wait_after_address_save()保留现有最长约 10 秒、每 0.2 秒读取一次的等待逻辑,不使用长时间固定 sleep。PURCHASE_ADDRESS_SAVE_NOT_EFFECTIVE和“点击保存后仍停留在地址编辑页”;其他未知页面继续使用PURCHASE_ADDRESS_PAGE_TIMEOUT。client/test/test_pdd_u2_purchase_adapter.py覆盖异步稳定、目标变化、保存后仍停留编辑页、保存只点击一次和原有成功路径。预计修改:
client/src/pdd_u2_purchase_adapter.pyclient/test/test_pdd_u2_purchase_adapter.py验收标准
PURCHASE_ADDRESS_SAVE_NOT_EFFECTIVE。怎么验证
从
client/执行:需要真机执行一条新的正式采购任务,确认地址编辑页稳定后单次保存能够返回地址面板并继续原采购流程。
风险和回退
保存前等待会小幅增加地址步骤耗时,但不触及不可逆阶段。稳定证据不足时必须停止,不能用重复保存换取成功率。若出现回归,可独立回退本工单提交,恢复原单次读取后保存逻辑。
实施进度
已完成代码和自动测试:
PURCHASE_ADDRESS_SAVE_NOT_READY,地址回读不一致继续保留原PURCHASE_ADDRESS_INPUT_MISMATCH;PURCHASE_ADDRESS_SAVE_NOT_EFFECTIVE;验证:采购 Adapter 48 项全部通过;Client 全量 470 项中 468 项通过。另 2 项仍是用户工作区
src/version.py=0.1.2与两个旧更新测试固定期待0.1.0的既有失败,与 #191 无关。完成记录(待用户验收)
27a0e8cfix: 稳定地址表单后单次保存 (#191)cd160e9docs: 归档任务 #191docs/task/191-稳定地址表单后单次点击保存.md采购 Adapter 48 项全部通过,语法和差异检查通过。Client 全量 470 项中 468 项通过;另 2 项仍是用户工作区版本号
0.1.2与旧更新测试固定期待0.1.0的既有失败,与 #191 无关。当前状态:待用户使用真机执行新的采购任务,确认地址表单稳定后单次保存能够返回地址面板并继续采购。工单保持打开,Epic #1 和 MVP #2 清单保持待验收。
用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:
ad44f83。现关闭工单。