使用Tasker实现UI自动化循环操作实例。
开端
之前支付宝点击或者划屏的活动嘛,然后我当时用的adb shell 命令模拟操作玩了玩,后面我发现,tasker这个软件也可以执行adb shell命令,不仅如此,还有很多其他自动执行的玩法。
实践
这里我们就来个一般比较枯燥的场景,循环刷新微信步数排行榜做演示,置顶微信运动后操作,点击的位置在开发者选项中打开指针位置(不同的手机坐标是不一样的)。
首先我们来用adb shell命令在pc直接实现,
sleep 5 # 为了防止出错加等待时间,下面一样
input tap 263 438 # 进入微信运动
sleep 1
for q in `seq 1 50`;do # 进入排行榜后退出,循环50次
input tap 525 2207
sleep 3
input tap 51 161
done
这段shell代码是可以直接复制到tasker中的任务中的shell运行的。
优化
不过我们都已经用tasker了肯定要优化一下我们之前直接输入shell命令的不足了,比如运行命令后点击的位置的不对、中途我想中止命令。
tasker是支持任务流控制的,所以我们可以把上面的shell代码分解重构一下。
- 初始化部分
这一部分如名字所示,一般只运行一次,像loadrunner的init部分。在这里就对应进入微信运动的部分
sleep 5 # 为了防止出错加等待时间,下面一样
input tap 263 438 # 进入微信运动
- 循坏体
原代码:
for q in `seq 1 50`;do # 进入排行榜后退出,循环50次
input tap 525 2207
sleep 3
input tap 51 161
优化后:Goto进行循坏的执行和判断
- 异常处理
锁屏处理
如图是关于异常处理的部分,因为是ui自动化,所以当锁屏时点击的操作时失效的,但是任务却还在继续。为了解决这个可以加入if判断,用屏幕开关的变量%SCREEN来处理,只有on时才正常运行,off时中断任务。
程序状态处理
因为任务是在微信执行才有效,所以可以加入退出微信界面的中断任务操作,
如上,如果退回桌面就中止微信的自动刷新步数排行榜操作,并给出提示。这里需要将退回桌面的配置文件设置比微信的配置文件优先级高,这样才能正常中断。
🥰如果喜欢你也可以请我喝白开水🥰
打赏 / Donate
