fastbot-稳定性测试工具使用教程android版

2023-12-13 15:16:04 浏览数 (2)

fastbot是字节跳动开源的一款APP稳定性测试工具。分为fastbot-andoird和fastbot-ios。今天我们就一起研究一下怎么使用android的fastbot。 github官方地址放在文末

fastbot-android介绍

基于 Model-based Testing 结合机器学习、强化学习的APP 稳定性测试工具。当我们日常测试app的过程找那个,如果有稳定性的测试需求,那么可以考虑使用fastbot。

fastbot的支持的功能

  1. 支持android多个版本,支持android 5- 14. 兼容原生的android系统以及国内厂商魔改的android系统
  2. 事件快速注入: 继承原生 Monkey 的优势,快速点击,每秒最高可发送 12 个事件;
  3. 专家系统: 不同业务线支持不同的个性化需求,业务深度定制化;
  4. 智能化测试: 基于 Model-based 边遍历边建模,利用强化学习等算法做高收益决策; 听着挺高大上,很牛逼,我们来进入安装过程吧

fastbot-android的安装和使用

  • 我们需要将 framework.jar fastbot-thirdpart.jar monkeyq.jar push 到手机上某个目录中,建议/sdcard,push libs/* 到 /data/local/tmp/ 下。这几个对应的jar包和依赖在github上可以下载。考虑到有的同学可能网络不好,我已经准备好了压缩包。可以来'https://vwo50.club/archives/1185.html'获取。
  • adb连接android手机(请确保调试模式 和adb都已经正确安装。百度很多教程)
  • 下载好对应的jar包和libs包后,我们解压出来,传输到手机上对应的目录。 执行 adb push *.jar /sdcardadb push libs/* /data/local/tmp/ windows的话一个一个push 即可
  • 接下来我们要确定我们要测试的app的包名。android包名一般是 com.xxx.xxx的规范形式。那么假如你不知道的话,你可以问android开发。 你也可以启动对应的app然后adb连接手机后执行: adb shell dumpsys activity activities | grep mResumedActivity 然后屏幕输出的内容里, com.xx.xx即为包名。
  • 到这一步,启动所需要的环境就oK了。gkd。下一步 ,原神,启动! 启动fastbot

fastbot启动会有很多参数,具体的参数意义如下:

  • -s 设备号 多个设备需要指定设备号,单独设备无需此-s参数
  • -p 包名 遍历app的包名,-p 包名
  • --agent reuseq 遍历模式,无需更改
  • --running-minutes 遍历时长(分钟) # 遍历时间:--running-minutes 时间
  • --throttle 事件频率 遍历事件频率,建议为500-800
  • 可选参数
  • --bugreport 崩溃时保存bug report log
  • --output-directory /sdcard/xxx log/crash 另存目录

执行以下命令来启动fastbot adb -s 你的设备号 shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p 包名(你的包名) --agent reuseq --running-minutes 遍历时长 --throttle 事件频率(500-800) -v -v 如果你只连接了一个android设备,切记取消 -s 直接执行 adb shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p com.XX.XXX --agent reuseq --running-minutes 20 --throttle 600 -v -v --bugreport --output-directory /sdcard/test/log/crash 即可。

如果不出意外的话,fastbot将会在你的终端启动,你将看到你手机的app将会进行自动遍历activity的操作

结果获取

  1. Crash、ANR 捕获会存放在/sdcard/crash-dump.log文件
  2. 捕获的Anr 同时也会写入 /sdcard/oom-traces.log 文件
  3. 如果你在命令里指定了。--output-directory /sdcard/xxx 路径,那么结果运行完之后来对应的路径获取即可。 4.正常跑完Fastbot会在当前shell中打印totalActivity(总activity列表),ExploredActivity(遍历到的activity列表)以及本次遍历的总覆盖率

至此,本教程就结束了。 github地址: https://github.com/bytedance/Fastbot_Android/tree/main

还有一些更高级的用法可以来参考:https://github.com/bytedance/Fastbot_Android/blob/main/handbook-cn.md来学习。

创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

0 人点赞