Xcode 10.1 + Fastmonkey-master
一 背景
Xcode从7.x升级后,无法使用Instrument的uiautomation脚本对iOS应用进行Monkey测试。直到Faskmonkey的出现它集成了众家之长,基于 XCTestWD、swiftmonkey 二次开发,已经基本能满足我们日常的iOS应用压力测试了。
优点:非插桩 iOS Monkey, 支持控件,每秒4-5 action事件。
二 准备工作
1 〉Xcode 10.1 ---(目前最新版本为10.1,用于导入Faskmonkey工程及运行monkey测试)
2 〉iOS 第三方库管理工具-Carthage ---(用于下载Faskmonkey工程所依赖的第三方库)
---(安装:Carthage安装和使用教程)
3 〉iOS开发者证书文件 ---(用于工程中的构建及签名)
---(团队的开发者证书账密, 也可以是免费的个人开发者证书)
4 〉Fastmonkey-master工程代码
----(从github下载 https://github.com/zhangzhao4444/Fastmonkey)
5 〉真机一部(iphone 7 ios 11.2 和 iPhone x ios 11.4),且已安装app
---获取ipa,手工安装(推荐)
---或者,从Xcode拉取代码|连上真机 然后安装(编译即安装)
三 Fastmonkey工程 下载后配置
1 下载后放置于如下位置:
2 打开终端,并进入
3 下载工程所依赖的包
1)终端执行 carthage update, 报错如下:
This usually indicates that project itself failed to compile. Please check the xcodebuild
解决:Xcode > Preferences > Locations,选择Xcode的版本,即可
再次:终端执行 $carthage update(比较耗时)如下图所示:
四 配置XCTestWD项目工程
双击子目录XCTestWD中的XCTestWD.xcodeproj文件
1 修改Product ID (product bundle)
(团队开发者证书需要修改,个人免费开发者证书可跳过此步骤 ?)
2 修改签名账号
2.1) 修改 Code Signing为相应的账号
2.2) 改code Signing为相应的Team账号。
XCTest****->General->Signing->Team
ps: 因为iOS系统的安全机制,用apple开发者账号(个人注册的免费账号也可以)重签名后的未上架应用才能安装到iOS设备,而且设备需要在开发者账号的设备列表.
4 修改XCTestWD项目工程代码中的配置值
4.1) 修改脚本文件中的bundleID
.. > server>XCTestWDMonkey.swift, 文件中的bundleID改为被测App的包名
3.3) 设置运行时长
.. > server> Controller > Monkey.swift , 修改elapsedTime为需要运行Monkey的时长,注意单位是秒,如下图:
五 执行Monkey测试
ios11.4/11.2报错如下:
解决:
虽然连的iOS11.x的版本把iOS版本改为9
清除缓存:把DerivedData这个文件夹直接删掉:
然后执行,会报错如下:
再次执行即可:
----虽然可以执行手机点点点了,但是遇到了和Xcode9.2同样的问题,不过,如果能跑起来 超时了报fail是已知问题,不影响!!!更乐观的是还生成了日志
六 日志查看
/Users/xxxxx/Library/Developer/Xcode/DerivedData/XCTestWD-byqpelbzygjptgbegfauyaoyhxbk/Logs/Test/.....
日志文件可以用vscode来打开 (该工具下载安装搜索:VSCode 设置中文显示)
日志如下: