Fastbot安装使用教程(超详细的)

(一)Fastbot简介

Fastbot是一种自动化测试应用的工具,在指定的APP上自动进行大量的点击、滑动等事件序列,进行APP的稳定性、兼容性的测试。与Monkey相比,Fastbot能够基于AI和UI层次生成更有针对性和现实意义的测试事件序列,更加真实高效的模拟用户交互流程。

本文是Fastbot-Android在windows系统中的安装教程,已在windows系统中安装了安卓模拟器和adb,adb的安装教程可见:windows下载安装adb(极其简单)_adb工具下载windows-CSDN博客

(注:Fastbot在linux虚拟机中的安装会很麻烦,建议考虑安装在windows系统中)

(二)安装git

安装Fastbot工具首先需要安装git工具,如果已安装过的可以跳过本步骤

查询是否安装git:打开windows命令行,输入命令(查询git版本号)

git --version

如果有版本回复则说明已安装了git,如果显示git命令错误则说明尚未安装。

1.官网下载git安装包

访问官网 https://git-scm.com/

在浏览器中按顺序访问,最后点击弹窗下载。

2.安装git

下载后双击下载的exe文件安装,选择安装路径,默认安装选项,也可以根据需求自定义设置,最终完成安装。

利用windows的命令行查询git版本,可以看到查询结果为git version 2.xx.x

git --version

或者在任意文件夹中右击,打开git bash,可以正常打开,在git bash中也可以正常查询git版本,则说明git安装成功。

(三)安装Fastbot

1.克隆Fastbot项目

Git安装成功后,在项目文件夹中右击(克隆到本地的项目会保存在该文件夹中),打开git bash,利用git命令克隆Fastbot_Android项目到本地。

git clone https://github.com/bytedance/Fastbot_Android.git

2.push Fastbot文件到安卓模拟器

打开windows命令行,首先查看安卓模拟器是否正常连接:

adb devices

如果显示offline则说明设备处于未连接状态,显示device则说明正常连接。

如果显示未连接,则可以重启模拟器或者再执行一遍devices命令。

确认安卓模拟器正常连接以后,打开克隆到本地的Fastbot项目文件夹,右击使用命令行终端(注意不是git bash)打开,将Fastbot的文件push到安卓模拟器的系统文件夹中(分别执行以下命令):

adb push fastbot-thirdpart.jar  /data/local/tmp/

adb push framework.jar  /data/local/tmp/

adb push monkeyq.jar  /data/local/tmp/

adb push libs/.  /data/local/tmp/

其中/data/local/tmp/是安卓模拟器中保存该Fastbot项目的路径,可以通过安卓模拟器中的文件管理器查看,并选择合适的路径。

执行完上述命令后,利用ls命令以确定文件已经正确的推送到模拟器中:

adb shell ls /data/local/tmp/

终端中的执行结果如下所示:

> adb push fastbot-thirdpart.jar  /data/local/tmp/

fastbot-thirdpart.jar: 1 file pushed, 0 skipped. 185.2 MB/s (85664 bytes in 0.000s)

> adb push framework.jar  /data/local/tmp/

framework.jar: 1 file pushed, 0 skipped. 744.2 MB/s (1149240 bytes in 0.001s)

> adb push monkeyq.jar  /data/local/tmp/

monkeyq.jar: 1 file pushed, 0 skipped. 196.7 MB/s (97209 bytes in 0.000s)

> adb push libs/.  /data/local/tmp/

libs/.\: 4 files pushed, 0 skipped. 31.3 MB/s (7496356 bytes in 0.228s)

> adb shell ls /data/local/tmp/

fastbot-thirdpart.jar

framework.jar

monkeyq.jar

3.启动Fastbot

Fastbot工具需要利用APP的包名来自动打开安卓模拟器中的APP,并且随后进行自动点击等交互操作,因此需要先知道指定打开APP对应的包名是什么。

查看安卓模拟器中安装的APP对应包名的方法:

(1)使用安卓工具AAPT2提取测试软件的包名(比较麻烦,不建议)

(2)使用adb命令,列出安卓模拟器中安装的所有应用的包名,根据包名中的部分名称进行区分(一般包名的格式为com.xxx.xxx,例如微博com.sina.weibo,可以通过包名直接猜出对应的APP名称。同时包名形如com.android.xxx的一般是系统软件,不在软件检测范围内)

adb shell pm list packages  

(3)直接百度或询问大模型需要测试的app对应的包名,可以直接得到结果(是否正确可以结合方法(2)进行验证)

博主验证过的一些APP的包名:

APP的包名

APP名称

com.dragon.read

番茄小说

com.tencent.mm

微信

com.zhihu.android

知乎

com.sina.weibo

微博

com.taobao.taobao

淘宝

tv.danmaku.bili

哔哩哔哩

com.ss.android.ugc.aweme

抖音

启动Fastbot需要的命令(2条):

adb shell CLASSPATH=/data/local/tmp/monkeyq.jar:/data/local/tmp/framework.jar:/data/local/tmp/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p com.dragon.read --agent reuseq --running-minutes 10 --throttle 500 -v -v --output-directory /sdcard/fastbot_results

adb pull /sdcard/fastbot_results D:\aaaafiles\work\Fastbot_res

其中/data/local/tmp/是push步骤中将windows中文件推送到模拟器中的文件位置

-p:后面接着的com.dragon.read是APP的包名,根据需求进行更改

--running-minutes :运行时间,后面跟着自动点击的检测时间,以分钟为单位

--throttle :事件(点击、滑动等)之间的时间间隔,以毫秒为单位

--output-directory:fastbot运行结果会输出一个文件max.activity.statistics.log,后面跟着的地址是该文件的保存地址,可以在安卓模拟器的文件管理器中找一个合适的位置进行保存

pull命令:将安卓模拟器中保存的log文件拉到windows系统中,前者为fastbot运行结果保存位置,后者为windows项目文件夹中的合适位置,执行后会将log文件复制到windows中。

4.执行结果

可以看到执行完启动步骤后,有下列执行成果:

(1)控制台不断生成一些执行结果,其中包含标识符、时间戳、序号和activity的名称:

执行结束后还记录了最终执行结果,包括检测到的activity信息、error信息等:

(2)安卓模拟器中生成了一个log文件

(3)windows的项目文件夹中保存了相同的log文件

生成的max.activity.statistics.log中,保存了待测试APP中一些应用活动的名称(例如com.dragon.read.component.biz.impl.SearchActivity搜索界面、com.dragon.read.component. biz.impl.mine.LoginActivity登陆界面等),该文件中的字段主要包括TestedActivity(已测试的活动)和TotalActivity(全部活动)两部分。

Tested:这个字段记录了 Fastbot 在运行测试过程中访问过的 Android 应用活动(Activity)。这些活动代表了应用中的各个界面或功能模块,属于应用程序中不同的用户界面,Fastbot 在测试时遍历了这些界面,同时可能在执行事件过程中可能进行了一些交互。(博主眼睁睁的看着ta点开洋柿子小说然后举报了一条评论、、、,没来得及拦下来,对不起了兄弟TAT)

Total:这个字段记录了应用程序中的所有活动(Activity),包括那些未被 Fastbot 测试访问的活动。这些 Activity 可能是应用集成的第三方功能,尚未被 Fastbot 测试到(比如由于登陆或开通VIP需要输入个人信息,但是Fastbot不具备输入正确个人信息的能力,因此这些功能相关的界面Fastbot无法探索),但它们也是应用的一部分。

通过log文件可以观察到:Fastbot 测试覆盖了哪些界面;应用程序中包含哪些功能模块(即未测试到的 Activity 也被记录了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值