客户端稳定性测试

前言

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
    评论
Socket连接稳定性测试工具是一种用于测试网络通信中Socket连接的可靠性和稳定性的工具。它主要用于模拟在网络环境中发送和接收数据的过程,以确定Socket连接在长时间运行和高负载下是否能够稳定地工作。 这种测试工具通常具有以下功能和特点: 1. 连接模拟:可以模拟多个客户端同时连接服务器,并进行数据交互。通过模拟多个连接,可以测试服务器是否能够正确处理并响应多个请求。 2. 压力测试:可以设置并发连接数和请求次数,测试服务器在高负载情况下的响应速度和处理能力。通过增加请求的数量,可以评估服务器的负载能力是否满足实际需求。 3. 数据有效性验证:可以对发送和接收的数据进行验证,确保数据在传输过程中不会出现损坏或丢失。通过验证数据的完整性,可以判断Socket连接的可靠性和稳定性。 4. 错误处理:测试工具可以模拟网络异常和错误情况,例如断开连接、超时、重传等,以验证服务器的错误处理机制。通过模拟错误情况,可以测试服务器是否能够正确地处理各种异常情况。 5. 测试报告和统计数据:工具可以生成详细的测试报告和统计数据,包括连接成功率、数据传输速度、错误次数等。这些数据能够有效地评估Socket连接的稳定性和性能。 Socket连接稳定性测试工具在开发和维护网络应用程序时非常有用。通过测试工具,可以及时发现和解决Socket连接中的问题,确保应用程序在网络环境下的正常运行和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值