客户端稳定性测试

前言

APP稳定性测试常用工具monkey,本文主要介绍fastbot,可以支持Android、iOS

Android

参考:https://github.com/bytedance/Fastbot_Android

./adb -s ABJK02290100 shell 
CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar 
exec app_process /system/bin com.android.commands.monkey.Monkey -p 
com.test.appname --agent reuseq --act-blacklist-file /sdcard/abl.strings 
--running-minutes 10 --throttle 600 -v -v --ignore-timeouts --ignore-crashes 
--bugreport --output-directory /sdcard/logname

环境准备:(一次性工作)

将 framework.jar fastbot-thirdpart.jar monkeyq.jar push 到手机上某个目录中,建议/sdcard,push libs/* 到 /data/local/tmp/

adb push *.jar /sdcard
adb push libs/* /data/local/tmp/

结果说明

  1. Crash、ANR 捕获
    • 捕获到Java Crash、ANR、Nativie Crash会以追加方式写入/sdcard/crash-dump.log文件
    • 捕获的Anr 同时也会写入 /sdcard/oom-traces.log 文件
  1. Activity覆盖率统计
    • 正常跑完Fastbot会在当前shell中打印totalActivity(总activity列表),ExploredActivity(遍历到的activity列表)以及本次遍历的总覆盖率
    • 总覆盖率计算公式: coverage = testedActivity / totalActivities * 100

场景细粒度控制(手动配置黑、白名单配置)

1、Activity白名单配置(只覆盖白名单内的activity)

  • 在PC端新建 awl.strings文件(名称固定为:awl.strings)
  • 在文件中写入Activity的名称,例如
  • 将 awl.strings 文件push到手机端的sdcard目录下, 目录必须为sdcard
  • 运行命令时添加以下参数:--act-whitelist-file /sdcard/awl.strings
adb push awl.strings  /sdcard 
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   --act-whitelist-file /sdcard/awl.strings --running-minutes 遍历时长 --throttle 事件频率 -v -v

2、Activity黑名单配置(黑名单内的activity不覆盖)

  • 在PC端新建 abl.strings 文件(名称固定为:abl.strings)
  • 在文件中输入Activity的名称,同白名单方法一致
  • 将 abl.strings 文件push到手机端的sdcard目录下, 目录必须为sdcard
  • 运行命令时添加以下参数:--act-blacklist-file /sdcard/abl.strings
adb push abl.strings  /sdcard 
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  --act-blacklist-file /sdcard/abl.strings --running-minutes 遍历时长 --throttle 事件频率 -v -v

iOS

参考:https://github.com/bytedance/Fastbot_iOS

tidevice -u 1be9607ac192e6ae1a9e5dce5275a7aa699b4f16 xctest -B 
bytedance.FastbotRunner0423.xctrunner -e BUNDLEID:com.包名 -e duration:1 -e throttle:300  --debug

环境准备


1、osx 环境:准备 Mac 机器

  • xcode 环境: 下载安装 XcodeIDE
  • 安装 cocoapods: 在终端中执行 sudo gem install cocoapods -v=1.8.1 , 并按提示输入设备登录密码

2、初始化项目:

  • 在终端 cd 到当前项目目录下, 然后执行 cd Fastbot-iOS && pod install --repo-update
  • 打开项目:双击使用 XCode 打开项目目录下 Fastbot-iOS/Fastbot-iOS.xcworkspace
  • 设置签名:设置签名为自动签名, 修改Bundle ID为自己的 bundleid, 注意这里的BundleId必须是唯一的。​

3、信任设备&Runner:

  • 信任设备:连接手机到电脑,并在手机中弹出的对话窗中选择信任,然后在 XcodeIDE 中选择构建目标为连接的设备或模拟器

4、打开 FastbotRunner 网络权限: 执行 pingTestNetwork(此处可参照步骤3-2),此时在手机上点击 FastbotRunner-Runner App,弹出黑色界面后,等待 30s 左右,点击 Home 键(或屏幕底部上滑)回到桌面,此时弹出是否打开网络权限的弹窗,选择无线网络或蜂窝网即可。直到 Xcode 运行 log 中出现 ping network success 则打开网络成功,如果不成功可尝试重复步骤4

执行

结合tidevice一起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值