注意:前提要安装java环境。
因为android sdk里边开发的一些包都是依赖java语言的,所以,首先要确保已经配置了java环境。
1、安装配置adb命令环境
(1)下载Android Studio:下载 Android Studio 和应用工具 - Android 开发者 | Android Developers
(2)安装SDK
Appearances & Behavior->System Settings->Android SDK
(3)配置sdk环境变量
输入命令vi ~/.bash_profile,添加如下配置,按【ese】再按 :wq
export ANDROID_HOME=/Users/XXX/Library/Android/sdk(如果没有修改过,默认是这个路径,XXX为用户名)
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
(4)检验adb是否安装成功
终端输入命令:adb version
上图显示了adb安装版本,即为安装成功
(5)手机连接电脑,检验设备连接
设备手机需要开启“开发者选项”
电脑终端输入命令:adb devices
如果出现下图中连接设备unauthorized,检查开发者选项“USB调试”,允许进行USB调试
出现下图设备device即正确
2、 将项目Fastbot-Android下载到本地
下载地址:GitHub - bytedance/Fastbot_Android: Fastbot(2.0) is a model-based testing tool for modeling GUI transitions to discover app stability problems
3. 环境准备
1) 确保pc端需要有安adb的环境,即手机连接电脑后,在cmd上输入adb devices能够查看到设备
2)将项目中的jar包和lib目录下的文件导入到测试手机,执行如下命令(备注:例如libs采用绝对路径也可)
adb push libs/* /data/local/tmp/
adb push fastbot-thirdpart.jar /sdcard
adb push framework.jar /sdcard
adb push monkeyq.jar /sdcard
4. 启动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 事件频率 -v -v
参数的含义:
-s 设备号 多个设备需要指定设备号,单独设备无需此-s参数 -p 包名 遍历app的包名,-p+包名--agent reuseq 遍历模式,无需更改 --running-minutes 遍历时长(分钟) --throttle 事件频率 遍历事件频率,建议为500-800 --bugreport 崩溃时保存bug report log --output-directory /sdcard/xxx log/crash 另存目录
注意:
1、所需包名可以通过如下命令查找:adb shell pm list packages -3
2、执行命令可能出现如下报错:library "/data/local/tmp/arm64-v8a/libfastbot_native.so" not found如下图,问题设备samsung SM-S9060
问题原因:文件路径问题
解决办法:终端输入命令:adb shell cp data/local/tmp/libs/* data/local/tmp
再次执行Fastboot命令,设备正常进行稳定性测试,终端没有再报错
五.工具比对
Fastboot:继承自原始 Monkey,可实现高达每秒 12 个动作的快速动作插入,具备根据不同业务线的需求进行深度定制的能力。 Monkey:不支持业务行为定制,无法灵活的控制,经常会点到外部的 App 无法回归原测试 App;或者点击到注销和退出,造成无法继续后面的测试;