airtest是最近很火的移动端自动化项目。尽管在iOS和分布式方面仍需要完善,但是瑕不掩瑜。良好的学习曲线,可以让更多新手完成从零到一的成长(多种意义上,例如移动自动化基础/Python基础/编程思想等)
本文旨在于,利用一个简单的事例展现airtest项目在“快速实现”上的能力。
现在市面上,有不少完成任务送金币(money)的app。看个视频/简讯给到的金币,集齐一定数量就可以进行支付宝提现。家里的对象为此下载了一箩筐的该类APP,天天乐此不疲。都不和我玩啦o(╥﹏╥)o。所以准备用airtest完成自动薅羊毛脚本
首先进行环境准备:
0、一台安卓手机 and 数据线
1、一台PC设备
2、下载airtest压缩包并解压
实现思路0.1:抖音/快手极速版,脚本
打开APP
检查打开成功
进行页面滑动
到达金币上限换下一个APP
话不多说,码起来
将“打开APP”动作封装成一个方法,在
打开APP
切换抖音/快手/其他APP
遇到异常情况需要重启
的时候方便进行调用,接收一个参数‘pack’即APP包名。这个方法的逻辑有:
唤醒屏幕wake()方法
我的华为手机,连接有时候出现“连接设备的”弹框。这里用一个try来尝试点击取消按钮即可
真正打开APP之前,考虑一下会有一种特别情况-目标APP调到某个页面并且挂在后台没有关闭。这样启动之后,我的操作就“瞎”了。所以先尝试stop()关闭掉后台可能挂起的目标(App)
使用start()启动App
经过一番观察。发现抖音快手的金币基本在使用两小时后,就刷不动啦。所以就觉得用操作时间来控制观看视频,方法接收一个参数loop-本次观看视频的时间(单位是秒)
想要本文代码的,可以加布尔老师微信领取
另外,经过一番调试。发现了,在进行了长时间刷视频后。有一定几率,它就刷不出来新视频了 ̄へ ̄。好吧,那我这人(脚本)就喜欢看俩新视频就往回翻行不。所以增加了随机上下滑动的逻辑
具体解析:
down_sig记录当前位置进行过几次下滑(看新视频),随机上滑(回翻)轮空就刷不到金币了
Starttime/endtime为了实现定时功能,对起始/截止时间进行初始化while循环以运行时间<loop设计持续时间为条件
内部逻辑根据下滑标识,和下滑几率进行滑动操作
1、下滑/新视频不足10个,必然进行上滑来看新视频
2、新视频大于10个,那么random.randint(1,3)即随机1-3数字。结 合==1,即1/3的几率进行上滑
3、每个while循环后更新endtime时间,即运行时间增加
最后阶段,对运行任务进行配置
大功告成,每天晚上把手机挂上脚本。早晨起来就刷到上限,开心
作 者: Testfan 布尔
出 处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接