位置录制的天然弱点是认坐标不认界面。应用一改版、分辨率一变、弹窗一多,脚本就可能停在某一步。降低维护成本的关键,不是找更聪明的录制,而是把流程设计得更抗变化。
先承认边界
基于位置与时间的录制,不具备找图、识字和条件判断能力;界面布局变化后需要重录;电脑端回放不支持文字输入。这些是能力边界,不是配置问题。
在这个前提下,能做的是减少变化影响面。
把流程拆小
- 一个脚本只做一件事:登录、进入页面、提交、退出;
- 步骤越短,改版时越容易定位;
- 公共前置,例如解锁、开应用,做成独立脚本;
- 业务脚本只负责差异部分。

固定入口
- 每次从同一个桌面页或应用首页开始;
- 执行前强制回到首页;
- 不依赖上一次停在哪里;
- 关闭可能弹出广告的应用启动页。
显式等待
- 页面切换后加等待,不要靠感觉够了;
- 网络慢时等待时间要留余量;
- 弹窗出现有随机性,能关的提前关掉;
- 等待过长会让任务变慢,按实测调整。
失败要留现场
- 失败截图;
- 记录卡在第几步;
- 记录设备型号、分辨率、系统版本;
- 保留 logcat 片段。
没有现场,只能靠猜。
改版后的处理顺序
- 看失败截图,确认停在哪一步;
- 只重录受影响的步骤,不重录全流程;
- 插入等待、删除多余步骤;
- 先在 1 台设备验证;
- 再按分组灰度。
诺程投屏支持编辑步骤:修改等待、删除步骤、从该步重录;输入类步骤可启用文字处理。这些功能就是为局部修改准备的。
用分辨率分组降低差异
不同分辨率下,同一坐标可能点到不同位置。把设备按分辨率和 DPI 分组,同一组用同一套脚本,能显著减少错位。
版本管理
- 脚本命名带版本号与适用分辨率;
- 每次改版保留旧版本;
- 记录哪个版本在哪些设备上验证通过;
- 出问题能回滚。
脚本目录与命名
- 按项目分目录,再按流程分文件;
- 文件名带版本与适用分辨率,例如
login_v3_1080p; - 公共步骤单独存放,业务脚本引用;
- 每个版本保留变更说明;
- 过时脚本归档,不要直接删除。
目录清楚,交接时不需要靠记忆。
测试设备与灰度
- 保留一台测试机,系统版本跟随最新;
- 新脚本先跑测试机;
- 再选 1 台生产设备;
- 最后按分组推开。
什么时候该换方案
如果业务需要根据画面内容做判断,例如找图、识字、条件分支,位置录制不适合,应该考虑带视觉能力的方案或人工复核。不要用堆步骤的方式模拟判断,维护成本会指数上升。
自动化的适用场景见录制回放与脚本怎么选,任务调度见定时、并行与重试。
常见问题
应用界面改版后,脚本必须全部重录吗?
不用。定位受影响的步骤,从该步重录即可,前提是流程拆分得足够小。
为什么脚本在别的手机上点偏了?
坐标与分辨率、DPI 相关。按分辨率分组使用对应脚本,能减少错位。
录制回放能识别弹窗吗?
位置录制不具备找图和条件判断能力,弹窗要靠固定等待、提前关闭或人工处理。