一.场景需求
现在的很多App都采用验证码登录,或者获取本机号码一键登录,但做自动化时机子设备不一定有SIM卡,前端人员也无数据库权限,无法获取到发出的验证码。但在测试环境,开发为了方便测试,还是会预留密码登录的入口,做法就是点击欢迎登录的标题6下,但连续点击有时间限制,太慢出不来。
思路:初学appium,以为使用click()方法,再用for循环连续点击6下即可出来,但还是太天真了,前一晚在自己电脑模拟器使用还可以,到了办公电脑的真机和模拟器就不管用了。连续点击的时间基本都超过了6秒。可能appium封装的这个点击事件,从发起请求到机器执行再到结果返回,时间略长。
然后就想着直接使用cmd命令操作,使用adb shell 命令“adb shell input tap 100 100”,但是该命令也是需要appium发送一条执行,路径长时间长,且不可设置点击间隔。失败告终
最后想到,adb monkey 发送伪随机用户事件操作时速度很快而且执行间隔可设置。但是monkey脚本需要push到设备上才可以执行。虽然盲目但总得一试,没想到该方法在几台设备上均可以成功。以下为代码
此处为生成脚本文件并直接执行,还没做异常处理
# 封装简单的业务基本操作代码
class ServiceUtils:
# 创建脚本文件,并