人做一遍,脚本照着做一百遍。一百台同时做,那是群控的事。
先搞清脚本能干什么,再把环境准备好
手机自动化脚本把重复的手工操作写成程序,让设备自己执行。常见四类:批量重复操作,比如签到、批量点赞、批量回复;数据采集,抓公开页面;测试回归,自动跑用例、留下复现路径;定时任务,到点执行。
写之前先定三件事:目标流程是什么,执行一次还是定时循环,失败了重试、跳过还是告警。签到类最短,适合练手:打开应用,等首页,点签到入口,再看成功提示。采集类要翻页、逐条抓、存到本地,会用到变量和数组。测试回归要按用例操作,逐步断言,再出报告。骨架都是打开应用、等待就绪、执行操作、校验结果、处理异常。
适用范围是个人自动化、自动化测试、自有设备运营、合规数据采集。自有设备上处理公开数据可以写脚本。灰产不在这里讨论。
环境准备按设备类型分:
| 设备类型 | 关键能力 | 需要什么 |
|---|---|---|
| 安卓(免 root) | ADB + 无障碍服务 | 开启 USB 调试、安装脚本引擎 |
| iOS(免越狱) | 官方投屏协议 + 企业签 | 安装签名后的引擎、开启屏幕镜像 |
| 鸿蒙 Next | 系统自动化能力 | 开启开发者模式、安装引擎 |
安卓门槛最低,USB 调试加上无障碍授权就行,资料也多。iOS 要处理签名和投屏,第一次多留时间。鸿蒙介于两者之间。只是体验的话从安卓起步。
通用顺序是开能力、建立连接、再验证通道。安卓连点版本号打开开发者模式,打开 USB 调试,电脑连接并点允许,装脚本引擎,再开无障碍。验过的标准是引擎能看到设备、能读到页面控件。iOS 在电脑端装引擎,手机开屏幕镜像,建投屏通道,再装注入组件。iOS 15 及以上,脱机主程序 v7.2.0 及以上可以直接当 USB 自动化程序,下载页有已经签好的 IPA,用来测试。脱机 7.0.0 及以上有两种引擎:单 App 只装主程序,在 App 设置的自动化选项里选单 App 再保存、开启;双 App 还要再签名安装代理 IPA。单 App 只签一个包,速度也快一些;双 App 自动化服务在另一个进程,掉了可以用自激活拉起来,方便无人值守。个人开发者账号 688 元一年,可绑 100 台,支持 iOS 12 以上,这是苹果的开发者费用,不是 EasyClick 软件授权。巨魔 TrollStore 支持 iOS 15 到 16.6.1,重启会掉签,要重新签代理。鸿蒙开开发者模式,打开投屏或调试授权,再装鸿蒙版引擎。
最常见的情况是能力开了但没接通,每做完一步就验一次。安卓高频的三处是:线只充电不传数据,USB 调试没点允许,开发者选项被系统关掉。iOS 先看签名还在不在,企业签失效后引擎起不来。鸿蒙的授权和设备绑得紧,接入方式固定下来更省事。环境准备做到引擎能稳定看见设备就可以写脚本了。
写第一个脚本
以“自动打开 App 并完成一次点击”为例:
在 EasyClick 中控里跑脚本:左侧是设备列表,勾选目标设备;右侧是脚本列表和参数面板,选好后双击就触发执行,不需要敲命令行或配环境变量。
第 1 步,录制。打开平台自带录制器,手动操作一遍,生成动作序列。手慢一点,路径只走一次。录完先回放,看哪些步骤能复现,哪些一点坐标目标就挪走了,或者等待不够。比直接改代码有方向。
第 2 步,改参数。把写死的坐标改成按控件 ID 或文本查找,把固定等待改成元素出现再继续。录出来的坐标和固定延时最容易碎,改完之后,分辨率变了、加载慢了,脚本还能接着走。
第 3 步,加保护。找不到元素时重试 3 次,仍失败就截图并退出,避免空跑。弹窗、网络延迟、广告页都会出现,没有保护的脚本一碰就停。
把三步串起来,一个稳定的入门脚本通常长这样(伪代码):
1. 打开 App(通过包名/应用名启动)
2. 等待「首页」元素出现(超时 10s,未出现则重试 2 次)
3. 点击「开始」按钮(优先按文本匹配,失败再按 id)
4. 循环处理弹窗:最多 3 次,每次找到弹窗就关闭
5. 校验结果:断言进入目标页面
6. 截图保存,记录日志,结束
第 4 步处理弹窗。广告、更新提示、权限申请都会打断主流程,发现弹窗就关掉。第 2 步的等待要有上限,第 5 步要点完之后校验有没有进到目标页。不等就点、点了不看,脚本能跑,人不敢拿去用。
几个关键参数的含义与建议:
| 参数 | 含义 | 建议 |
|---|---|---|
| 超时时间 | 等待元素的最长时间 | 网络类流程给 10-15s,本地流程 5s 左右 |
| 重试次数 | 失败后的重试上限 | 2-3 次足够,过多会放大故障 |
| 定位方式 | 找元素的方法 | 控件 id > 文本 > 描述 > 坐标 |
| 截图保留 | 失败时保存现场 | 必须开启,排查问题全靠它 |
新手最容易漏掉最后一行截图。调试时截图加日志能回到失败现场。没有截图,失败原因只能靠猜。
调试与排查报错
调试靠三样:单步执行和实时日志,看失败在哪一步;截图对比,确认界面状态;抓控件树,看定位稳不稳。先调通打开应用和等待首页,再往上加步骤。日志带步骤名。定位不准就抓控件树看实际 id 和文本。改一处测一处。常见报错与处理:
| 报错现象 | 常见原因 | 处理方式 |
|---|---|---|
| 找不到元素 | 元素尚未出现或已被移除 | 加长等待、核对定位条件 |
| 匹配到多个元素 | 文本重复(列表项、同名字段) | 加父级约束或改用索引定位 |
| 点击无响应 | 元素被遮挡或不可点 | 检查弹窗遮挡,等待元素可点击 |
| 脚本超时 | 流程被意外打断 | 拆分脚本、补充异常分支 |
| 权限未开启 | 无障碍/投屏授权失效 | 重新授权并加服务存活检测 |
先看现象发生在哪一步。日志定位到步骤之后,按元素在不在、定位条件对不对、时机合不合适、权限有没有开这个顺序查。改了很多次仍不稳,停下来再看控件树,比继续调参快。
发布、批量运行与常见误区
发布有三条路:单机直接运行;批量用群控或中控下发;无人值守配定时任务和失败告警。从单机跑通到批量稳定,要在几种机型和系统版本上各跑一遍,每台的成功、失败、超时都收回中控,失败能定位到设备,定时和告警也要配上。下发前看每台的系统版本、应用版本、权限是否一致。一台授权过期或应用没升级,同一份脚本结果会完全不同。上线后看失败率。App 更新、系统升级都会让脚本失效,每周抽查一次运行状态。
基础脚本用录制再改参数就能跑,复杂的循环和条件再学语法。坐标在分辨率变化、布局调整、弹窗出现时会失效,控件定位更稳。录制只是初稿,还要改参数、加保护、在多台机型上验过。能用三行就不要写十行。跑不动时先查定位、等待和权限。脚本要跟着 App 和系统改。
关于 EasyClick:手机自动化脚本开发平台,覆盖安卓免 ROOT、iOS 免越狱、鸿蒙三大手机生态,还提供苹果脚本编写、苹果群控、安卓群控、远程云控、AI 群控手机等。→ 了解全部产品
想要真实跑起来?
本文介绍的方案均可在 EasyClick 手机自动化平台落地。官网提供完整文档、开发工具与群控云控产品,免费体验。