多点布局为什么跑偏:显示大小改过之后要重摆
跑偏的两类成因要分开
多目标序列忽然全不对了,先判断偏移的「形状」:是所有点整体挪了一个固定量,还是只有个别点对不上。两者的成因和处理完全不同。
整体偏移:系统显示设置变了
「显示大小」和「字体大小」这两个系统设置,改变的是坐标换算的基准。改过其中任何一个,之前摆好的所有目标点(包括滑动的起止点)会整体偏移一个固定量——表现是整套序列像被平移了一样,每个点都「差一点」。
处理只有一个:全部重摆。这不是故障,重摆之后就恢复正常。同理,系统的「屏幕分辨率」类设置(部分机型支持)变更也会触发同样的整体偏移。
顺带的提醒:模拟器和真机的分辨率、长宽比不同,手机上导出的配置拿到模拟器里几乎必然整体错位,专门的校准流程见手机脚本搬到模拟器。
局部错位:界面状态变了
只有个别点对不上时,看那个点对应的界面:
| 情形 | 表现 | 处理 |
|---|---|---|
| 横竖屏切换后 | 全屏布局重排,多数点错位 | 重摆(见目标圆点摆放技巧) |
| 弹窗、广告改变了界面 | 按钮位置临时变化 | 等界面恢复常态,或把这类弹窗纳入序列 |
| 目标应用更新了界面 | 某个按钮挪了位置 | 只重摆相关的点 |
| 分辨率适配的滚动界面 | 列表滚动后按钮位置浮动 | 把「滚动」做成序列里的显式滑动步骤 |
防跑偏的三个习惯
- 布点固定后不动系统的显示设置——要改就接受全部重摆;
- 长任务开跑前用小轮数试跑一轮,跑偏当场就能看见;
- 布局稳定后立刻导出存档,重摆的时间成本才不至于白付,方法见自动脚本导出与导入。
另有「点是点了但没反应」的情况——那不是跑偏,是服务或参数问题,按按了播放没反应排查。