fastbot-iOS实践(Monkey稳定性测试工具)
背景
目前移动端App上线后 crash 率比较高, 尤其在iOS端。我们需要一款Monkey工具测试App的稳定性,更早的发现crash问题并修复。
Fastbot-iOS安装配置
准备工具
XCode: iOS开发IDE。
CocoaPads: 用来管理XCode依赖库的项目。
Fastbot_iOS: github项目。
tidevice: iOS 自动化工具。
通过macOS应用商店下载XCode。
安装homebrew
安装cocoapods
brew install cocoapods
克隆fastbot_iOS项目,并初始化
git clone https://github.com/bytedance/Fastbot_iOS
cd Fastbot_iOS
cd Fastbot-iOS && pod install --repo-update
Fastbot_iOS 是克隆的项目目录,Fastbot-iOS是项目下面的子目录。
通过Xcode 打开项目Fastbo-iOS项目。
具体配置查看github项目中的《中文手册》,操作步骤非常详细。
重要:打开手机开发者模式
重要:设置签名
主要是这个team,要确保自己是苹果的开发者(apple developer),如果还没注册过开发者,去苹果开发者平台注册认证一下。然后这个开发者证书是需要买的,分为个体购买和企业购买。工作的小伙伴可以询问公司~~其实就是验证一下企业开发者证书。
重要:信任APP证书
运行测试(XCode)
点击顶部FastbotRunner 弹出菜单,选择Edit Scheme… 选项。
然后弹出来这个:
在Scheme中设置参数,参考表格:
执行测试
点击testFastbot 按钮,开始运行Monkey测试。你可以在手机端看到被测试App以及启动,并开始自动执行操作。
附:使用脚本来运行(tidevice)
tidevice是阿里开源的iOS自动化测试工具,其实叫自动化工具有点不准确。他本质上有点像android 的 adb 工具,可以理解为PC与iOS之间的通信工具。提供了一些非常有用的功能,查看设备信息、安装卸载应用,当然,最主要的是可以执行XCTest。
tidevice
安装tidevices
pip install -U tidevice
使用tidevice检查连接的设备udid
tidevice list
List of apple devices attached
xxxx-xxxxxxxxxxx iPhone USB
检查是否安装FastbotRunner-Runner App。
tidevice ps --json
[
{
“pid”: 11549,
“name”: “FastbotRunner-Runner”,
“bundle_id”: “bytedance.FastbotRunner.name.xctrunner”,
“display_name”: “FastbotRunner-Runner”
},
]
前参考前面fastbot-iOS《中文手册》,他会详细说明如何在手机上安装FastbotRunner-Runner APP。这一步极为重要。
通过tidevices 运行测试
tidevice xctest -B bytedance.FastbotRunner.name.xctrunner -e BUNDLEID:com.apple.Pages -e duration:480 -e throttle:300 --debug
参考前面,Scheme参数说明。