CrashMonkey4IOS介绍
- 支持真机测试、模拟器测试
- 支持收集系统日志(Systemlog)、崩溃日志(Crashlog)、instrument行为日志
- 支持测试报告截图,绘制行为轨迹
- 支持测试设备信息收集
- 使用最新版的UIAutoMonkey,加入
UI Holes
与Application Not Repsonding ("ANR")
的处理,添加custom.js作为入口脚本. - 加入tuneup依赖
- 修改UIAutoMonkey.js中截图策略,为每个Event Action进行截图
- 支持测试执行过程中App进入后台,自动恢复(测试不会block)
一、环境安装
1. 安装Homebrew
1 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 安装依赖
1 brew install libimobiledevice
2 brew install -HEAD ideviceinstaller
3 brew install imagemagick
4 sudo gem install smart_monkey #终端下直接以smart_monkey -a app_name
-w device
的形式跑
二、在iOS模拟器上安装APP
目前CrashMonkey4IOS没有自动启动模拟器的功能,因此需先确认被测设备(包括模拟器)已经启动完毕并停留在桌面,如处在锁屏界面请先解锁
1. 通过命令行启动模拟器
1 xcrun instruments -w ‘iPhone 6 Plus‘
2. 在模拟器中安装APP
1 xcrun simctl install booted /Users/Kz/Documents/Join10.app
( xcrun 这个命令实际还有很多更高深的玩法,通过xcrun --help可以自己学习和领悟 )
三、参数说明
1 -a: 指向被测程序的BundleID(不可缺省)。e.g.-a com.mytest.app 2 -w: 指向测试设备的UDID,可以通过$instruments -s devices查看设备id,若缺省则默认指向第一台设备(模拟器或真机) 如:-w 26701a3a5bc17038ca0465186407b912375b35a7 3 -n: monkey测试的执行次数,默认为1次。e.g.-n 3 4 -d: 测试报告地址,默认为当前目录下的smart_monkey_result文件夹下。如:-d ~/my-monkey-test-result 5 -t: 执行时间,单位为秒。如:-t 60 6 -s: 指向被测app的.dSYM文件,若出现crash,解析crash为明文。如:-s testapp.dSYM 7 -c: 自定义的配置集路径,参数必须为目录,目录下必须包含custom.js,若使用handler,目录下需存在名为handler的文件夹,用于存放相关文件。如:-c /my/path/custom_cfg 8 9 如果使用custom_cfg必须遵守如下目录结构: 10 11 custom_cfg 12 ├── custom.js 13 └── handler 14 ├── buttonHandler.js 15 └── wbScrollViewButtonHandler.js 16 --event-number: 定义Monkey测试的总事件数,默认为50。如:--event-number 100 17 --compress-result: 对测试过程中截取的图片进行压缩,以节省空间开销。如:--compress-result 50% 18 --detail-count: 定义报告详情中记录的事件总数,默认为50,即在报告当中展示最近的50次随机事件,且进行操作示意绘制。如:--detail-count 100 19 --show-config: 打印当前的配置信息,即custom.js。如:--show-config 20 --drop-useless-img: 删除除展示在报告当中的其余截图,以节省空间开销,如,一轮Monkey测试共产出截图100张,参数--detail-count设置为20,那么使用--drop-useless-img会删除其余80张截图。如:--drop-useless-img 21 --list-app: 打印当前连接的真机及模拟器中所安装的app。如:--list-app 22 --list-devices: 打印当前所有可用设备。如:--list-devices 23 --reset-ios-sim: 重启模拟器。如:--reset-ios-sim 24 --version: 打印smart_monkey的版本号。如:--version
时间: 2024-11-08 19:14:10