用户 2026-09-18:「进订单详情页后不要滑动。遍历所有node,点击包含"展开"文本的node」。
readDetail()(原内联在 scan() 里)在找不到「展开」节点、字段又没凑齐时会调用 driver.scroll() 兜底;expansions() 用精确匹配 label == "展开"。
readDetail()
driver.scroll()
expansions()
label == "展开"
label.contains("展开")
expansions().firstOrNull{...} ?: break
safe()
scroll()
所有既有测试驱动从未依赖 scroll() 真的滑动成功,删除该调用对已验证行为无影响。回退即恢复 driver.scroll() 分支与精确匹配。
无长期文档影响:未改入口、配置、接口和状态机,属于回填详情读取策略的调整。
No dependencies set.
The note is not visible to the blocked user.
原始需求
用户 2026-09-18:「进订单详情页后不要滑动。遍历所有node,点击包含"展开"文本的node」。
事实(代码现状)
readDetail()(原内联在 scan() 里)在找不到「展开」节点、字段又没凑齐时会调用driver.scroll()兜底;expansions()用精确匹配label == "展开"。方案
expansions()改用label.contains("展开"),不假设按钮文案恰好是这两个字。readDetail()删除滑动兜底:找不到新的「展开」节点(expansions().firstOrNull{...} ?: break)就直接停止读取,不再调用driver.scroll()。safe()拦截与禁词节点的几何重叠;仍按 path 去重避免重复点同一个节点。验收
scroll()本就返回 false,删除调用是行为保留的重构)。风险与回退
所有既有测试驱动从未依赖
scroll()真的滑动成功,删除该调用对已验证行为无影响。回退即恢复driver.scroll()分支与精确匹配。文档影响
无长期文档影响:未改入口、配置、接口和状态机,属于回填详情读取策略的调整。