【测试工具】比Monkey更好用的稳定性测试工具——Fastbot

1,038 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Fastbot是字节跳动开源的基于model-based testing结合机器学习、强化学习的APP稳定性测试工具。优势明显:

1. Android多os兼容:同时兼容Android5-11,兼容国内各厂商定制化的Android系统及原生Android系统;

2. 事件快速注入:继承原生Monkey的优势,快速点击,每秒最高可发送12个事件;

3. 专家系统:不同业务线支持不同的个性化需求,业务深度定制化;

4. 智能化测试:基于model-based 边遍历边建模,利用强化学习等算法做高收益决策;

5. 跨平台:支持非标准化控件,YOLOv3、ocr、cv分割等UI图像识别能力。

1.环境准备


将 framework.jar , monkeyq.jar push 到手机上某个目录中,建议/sdcard。

adb push framework.jar /sdcard
adb push monkeyq.jar /sdcard

资料包下载地址:www.aliyundrive.com/s/Vk2L63bAA…

2.shell运行


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

参数说明

1. -s 设备号 #多个设备需要指定设备号,单独设备无需此-s参数

2. -p 包名 # 遍历app的包名,-p+包名

3. --agent robot # 遍历模式,无需更改

4. --running-minutes 遍历时长(分钟) # 遍历时间:--running-minutes 时间

5. --throttle 事件频率 # 遍历事件频率,建议为500-800

包名获取方式

aapt dump badging .apk文件

3.屏蔽控件或区域


试用需求:测试过程中“半路”中途退出登录,屏蔽退出登录按钮。

配置方法:

1.在PC端新建max.widget.black文件(名称固定为:max.widget.black),内容如下:

2.将max.widget.black文件push到手机端的sdcard目录下,目录必须为sdcard。

[{    "activity":"com.lililili.lulululu.ui.activity.mine.mine_userinfo.MineSettingsActivity",    "xpath": "//*[@resource-id='com.lililili.lulululu:id/btn_quit']"}]

activity

配置activity:当activity与currentactivity一致时执行xpath匹配

activity获取方式:使用Maxim获取当前控件所属的Activity;也可以借助工具获取。

adb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin com.lililili.lulululu.monkey.api.CurrentActivity

xpath

配置xpath:查找匹配的控件,屏蔽点击该控件

xpath获取方式:使用Android SDK自带的页面属性检查工具UiAutomatorViewer(需提前配置好Android SDK)

image.png

尽量使用resource-id作为xpath路径,也可以组合使用比如:

"xpath": "//*[@resource-id='xxx'and @text='xx']"

更多用法详见git:Fastbot-Android