2.8 KiB
2.8 KiB
#117 安全设置采购数量并关闭输入法遮挡
- 工单号:#117
- 类型:缺陷修复
- 父级:#1 Client 拼多多任务采集与采购客户端
- 版本:Client 采购自动化
- 状态:已完成,用户验收通过
- 日期:2026-08-10
- Gitea:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/117
- 实现提交:
b182eff
背景与目标
原数量设置代码总是聚焦数量输入框。即使页面默认数量已经正确,也会弹出安卓 输入法并遮挡规格面板底部的下单按钮。目标是优先避免输入法;必须使用输入框时, 只在确认输入法显示后安全关闭,并重新核对提交前页面。
最终方案
- 先从最新控件树读取当前数量,等于目标数量时直接返回。
- 数量差不超过 5 时,逐次使用“增加数量”或“减少数量”按钮;每次点击前重新 定位唯一按钮,点击后校验数量。
- 数量差较大或初始控件树没有唯一加减按钮时,才使用输入框。
- 输入框写入后通过
dumpsys input_method判断输入法状态。只有明确显示时才按 一次返回键;状态未知时不盲目操作。 - 输入法关闭后重新核对规格面板、颜色、尺码、数量、价格和唯一提交按钮。 输入法无法关闭或规格面板丢失时安全停止。
实现与建单方案一致,无 Admin 接口和数据库结构变化,不执行付款操作。
改了哪些文件
client/src/pdd_u2_purchase_adapter.py:增加数量按钮策略、输入法检测和面板恢复校验。client/test/test_pdd_u2_purchase_adapter.py:补充数量与输入法安全路径测试。docs/client/06-quality-security.md:记录采购数量输入的稳定安全约束。
验收结果
- 目标数量等于当前数量时不聚焦输入框。
- 5 次以内的数量差优先逐次点击加减按钮并校验。
- 输入框兜底仅在确认输入法显示时按一次返回键。
- 输入法关闭后重新校验规格、数量、价格和唯一提交目标。
- 输入法无法关闭、状态未知或规格面板丢失时安全停止。
- 演练测试没有点击最终提交,live 测试仍只点击一次最终提交。
- 等待用户在真机演练任务中验收输入法和规格面板恢复效果。
测试
从 client 目录执行:
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_u2_purchase_adapter.py"
C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
结果:专项 19 项通过;Client 全量 337 项通过。
未验证到的部分:未操作真实手机,未执行真实采购或点击真实下单按钮;需要用户 使用真机演练任务验证不同输入法实现下的显示与关闭效果。