AnsClaw
下载 Windows 版
对比

自动化脚本总失效?屏幕识别方案怎么选

AnsClaw

录制的脚本为什么一改版就失效

很多手机自动化脚本的起点是“录制”:手动点一遍,工具记录下每个操作的屏幕坐标,回放时按坐标依次点击。这套方式上手最快,但前提是界面像素级不变——按钮位置挪动几毫米、弹窗顺序调换、字体或分辨率变化,点击就会落到错误的位置,脚本随之失效。

所以“脚本失效”通常不是脚本写错了,而是定位方式选错了:坐标描述的是绝对位置,而界面本身是相对布局。

坐标回放与屏幕识别,两条路线的差异

坐标点击回放

按记录下的坐标顺序点击,不“看”屏幕。优点是实现简单、单次执行开销小;缺点是几乎零容错,任何视觉变化都要重新录制,不同分辨率、不同机型之间也难以共用同一份脚本。

屏幕识别定位

先识别当前屏幕内容,再决定点哪里。常见的识别层有三类:图像模板匹配(截取按钮小图,在屏幕上搜索)、控件树定位(读取无障碍层级中的元素 ID 与文本)、文字识别(OCR 读取屏幕文字),三者可以叠加使用。

识别类方案在改版后往往仍能工作,因为元素本身还在,只是位置变了。代价是需要花一点时间做识别(通常在毫秒到数十毫秒级),并且要为每个元素定义可靠的匹配特征。

什么样的屏幕识别方案更能适配界面改版

  • 优先控件与无障碍定位:元素 ID、文本标签、层级路径相对稳定,位置变化不影响命中。
  • 图像匹配做兜底:图标按钮、无文本控件用模板匹配,并允许设置相似度阈值与搜索范围。
  • 文字识别作补充:适合没有完整控件树的应用,但要注意字体与语言差异带来的误差。
  • 多特征组合判定:位置、文本、图像至少满足两项再执行点击,减少误点。
  • 支持等待与重试:界面加载速度不一,识别应有超时重试机制,而不是一次失败就中断。
  • 相对定位能力:以上下文元素为参照来定位目标,而不是依赖绝对坐标。

选型清单:个人效率与企业测试

个人效率场景

  • 是否支持免 Root 运行,无需刷机或解锁。
  • 是否本地运行,操作数据与截图不外传。
  • 是否提供可视化编辑,改版后能否只改一处定位就恢复。
  • 是否支持定时任务与多步骤编排,减少手动介入。

企业自动化测试场景

  • 是否支持多设备批量与并行执行,定位逻辑能否复用。
  • 是否提供执行日志与截图留证,便于回溯失败步骤。
  • 是否支持断言与结果校验,而不只是模拟点击。
  • 脚本是否便于团队共享与版本管理。
  • 部署形态是否满足合规要求:本地部署、私有环境或受控云端。

工具层面的横向比较,可以参考手机自动化工具怎么选:多设备协作清单;如果团队没有开发资源,无代码手机自动化工具选型指南中对可视化编辑与长期维护成本的梳理会更直接。

免 Root、本地运行与云端部署的取舍

免 Root 方案通常借助系统级无障碍服务在设备上执行操作,覆盖面广、上手快,但部分需要更高系统权限的深层操作可能受限。本地运行意味着数据与截屏留在设备内,适合处理敏感信息的场景;云端或设备农场模式便于批量与远程管理,但需要先确认数据留存与访问策略,可对照云手机与本地自动化的数据安全对比逐一核对。

小结:三件事决定脚本能不能扛住改版

判断一个方案能否“改版不失效”,看三点:定位靠的是坐标还是特征,识别是否多特征组合,以及失败后有没有重试与日志。把这三项确认清楚,比看功能列表的长短更有用。

建议先用一个小场景做验证:把同一份脚本分别在竖屏、横屏和改版后的界面上各跑一遍,记录失败点与恢复方式。能在这个过程中稳定命中的方案,才值得扩展到更多设备。