iOS智能monkey实战记录
目前市面上几款相对较好的 iOS 端稳定性 Monkey 测试工具,针对我司应用实战记录如下
工具名 | 实战记录 |
---|---|
FastMonkey | 仅支持 Xcode 8.x、9.x 和 10.1 版本放弃 |
SwiftMonkey | 配置运行报错未能解决放弃 |
sjk_swiftmonkey | 只能运行5分钟左右,且应用越来越卡放弃 |
Fastbot-iOS | 成功运行且速度很快 |
Fastbot-iOS 的跨平台方案
Fastbot-iOS是字节跳动开源的自动化测试方案。Fastbot-iOS 端上架构采用轻量且必要的 WDA 私有接口、插桩 SDK(可选,扩展提供额外的插件能力)以及基于纯图像识别的技术方案。
源码下载地址:https://github.com/bytedance/Fastbot_iOS。
环境搭建
- osx 环境
- mac机器安装xcode
- 安装 cocoapods: 在终端中执行 sudo gem install cocoapods -v=1.8.1 , 并按提示输入设备登录密码。 若安装异常可参考文档方式安装
- 初始化项目
- 在终端 cd 到当前项目目录下, 然后执行 cd Fastbot-iOS && pod install --repo-update
- 双击使用 XCode 打开项目目录下 Fastbot-iOS/Fastbot-iOS.xcworkspace
-
设置签名
- xcode需登录账号,且需与测试手机登录同一个apple id账号
- 信任设备&Runner
-
连接手机到mac,mac点击如下图圈选区域选择所连接的手机,并在手机弹出的对话窗中选择信任
-
执行 pingTestNetwork,待 FastbotRunner 安装成功后, 然后在手机 设置-通用-描述文件与设备管理-开发者应用中信任 FastbotRunner的证书。
- 执行 pingTestNetwork(此处可参照步骤3-2),此时在手机上点击 FastbotRunner-Runner App,弹出黑色界面后,等待 30s 左右,点击 Home键回到桌面,此时弹出是否打开网络权限的弹窗,选择无线网络或蜂窝网即可。直到 Xcode 运行 log 中出现 ping network success 则打开网络成功,如果不成功可尝试重复步骤4
运行测试
- 待测app安装到设备中,并且可正常运行
-
点击如下图一所示圈选区域弹出选择框,选择Edit Scheme,该页面编辑见下图二
在运行 Scheme 中设置测试参数,参数含义参照下表:
字段 | 说明 | 示例 |
---|---|---|
BUNDLEID | 被测试App的 Bundle ID | com.apple.Pages |
dataport | 端口号 | 9797 |
duration | 测试时长,单位分钟 | 240 |
launchenv | 启动测试App的环境变量,一般为空,或者以 ':'分割的key=value形式 | isAutoTestUI=1:channel=AutoTest |
throttle | 操作间隔,单位毫秒 | 300 |
-
执行测试,点击如下图圈选按钮,然后可在手机上观测到被测试App已经被拉起,并开始自动执行操作。
-
获取崩溃日志:点击待测设备设置-隐私-分析-分析数据,查看是否跟如下图所示关键字的崩溃日志
-
若需暂停测试可点击如下图所示按钮