安卓自动化工具 | 您所在的位置:网站首页 › sdcard翻译 › 安卓自动化工具 |
Fastbot:行进中的智能 Monkey
背景: Fastbot是字节跳动基于Monkey进行二次开发的一款工具,相对与Monkey来说会更加智能。
原理和源文件参考: 传送:https://juejin.cn/post/6877360102123241480#heading-0 https://github.com/bytedance/Fastbot_Android 随机方法:使用方法: 1.模拟器或者真机连接电脑,用adb devices检测是否连接成功; 下面是基于真机(小米)模拟 C:\Users\Administrator>adb devices List of devices attached 0a1e0f3d5 device注意:手机需要开启开发者模式和usb授权;手机连接为文件夹模式 2.把两个附件: framework.jar , monkeyq.jar push 到手机上某个目录中,建议/sdcard adb push framework.jar /sdcard adb push monkeyq.jar /sdcard备注:真机可能会有权限问题,提示无权限; 解决:使用adb命令:adb shell ls /sdcard 打印所有文件,发现这个文件夹就是与电脑传送默认文件夹; 可以通过手机连接电脑,设置为:文件模式,右键两个附件选择发送到手机,就默认到sdcard这目录 不知道adb 命令可以参考adb日常使用方法 :https://www.cnblogs.com/shoebill/p/14430554.html C:\Users\Administrator>adb shell ls /sdcard3. 运行随机脚本命令: adb -s 设备号 shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p 包名 --agent robot --running-minutes 遍历时长 --throttle 事件频率 -v -v实例 adb shell CLASSPATH=/data/monkeyq.jar:/data/framework.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p com.test.today --agent robot --running-minutes 10 --throttle 500 -v -v包需要特别打才能运行执行正常; 建议:执行命令前,先进行登录,随机的场景遇到需要登录的功能,基本跳不过去,登录后可覆盖的功能点能加大,相对Monkey随机覆盖,此工具覆盖更大;
自定义脚本: 脚本的设计也是基于xpath,结合每个activity,定位到当前的xpath,最后结果发现并不能按照自定义的脚本执行,更加偏向于随机跑, 把自定义命名为:并放到sdcard 目录,执行命令: adb shell CLASSPATH=/data/monkeyq.jar:/data/framework.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p com.test.today --agent robot -v 1#1代表执行次数分析: 通过打印每个页面的activity和元素发现,发现有些页面的activity不一样的,还是id,name等元素的clickable = false, 怀疑以上两个原因导致自定义脚本不能如实跑,例如:activity跟脚本不一致,xpath的元素是不可点击导致, 反思:如果是元素不可点击,随机脚本应该也不能正常跑,这里有点矛盾, 有哪位大神有研究,并能正常执行,请指点一下迷津,跪谢!!!
教程的列子:
实际:
遇到查找activity 与 定位元素问题,可以使用下面命令: #找activity的方法: #能找到包名和activities,但activities可能是广告的 aapt dump badging D:news.apk #在启动app过程 执行下面命令能提过广告的activities #例如有启动页的情况下,需要那打开a跳过该广告页,可以在跳过广告页,执行下面的命令即可 adb shell dumpsys window w | findstr \/ | findstr name= #下载当前页面的定位和activity信息 adb shell uiautomator dump
总结: 通过fastbot 结合手机的性能监控工具,可以运用于稳健性测试与偶现的闪退问题(配合日志捕捉)的发现; |
CopyRight 2018-2019 实验室设备网 版权所有 |