IOS 压力测试-UI AutoMonkey
UI AUtoMonkey是一款非常简单的IOS压力测试工具。通过它,你可以向ios设备发送滑动、拖动、旋转、甚至锁屏和解锁指令。原文github地址:https://github.com/jonathanpenn/ui-auto-monkey
如果你的mac电脑已经安装了xcode,那么环境就已经ok了,xcode中已经自带了UI Automation和Instruments。跟着下面的步骤进行操作就可以使用UIAutomonkey.js
这个js脚本,进行monkey测试。
1、首先,用Xcode打开你的ios项目,or使用Xcode建立一个新项目,选好机型以后,从“Product”菜单中选择“Profile”(或者直接快捷键Command+i),这样就可以构建ios项目,并启动工具模板选择器。
以这个例子:《一个》为例(来自Github)
2、下一步,在选择器中选择“Automation”。当我们创建了自动化模板后,就可以测试app的性能了。
3、在Scripts面板中,点击“Editor Log”,在下拉列表中选择“Script”,点击设置,再点击“Add”按钮,在下拉列表中选择”Create”,就可以新建一个js脚本,将UIAutoMonkey.js
这个文件的内容粘贴到新建的js脚本中,或者可以直接点击 imprt 将UIAutoMonkey.js
import进去(推荐)。
,可以直接点击播放按钮,来。
UIAutoMonkey.js的地址https://github.com/jonathanpenn/ui-auto-monkey
4、点击播放按钮,执行这段脚本,monkey测试就开始了
5、获得的log:
UIAutoMonkey.js
脚本,开头是下面的代码:
config: {
numberOfEvents: 1000,
delayBetweenEvents: 0.05, // In seconds
//各事件的几率.
// 数字越大,几率越大.
eventWeights: {
tap: 30,
drag: 1,
flick: 1,
orientation: 1,
clickVolumeUp: 1,
clickVolumeDown: 1,
lock: 1,
pinchClose: 10,
pinchOpen: 10,
shake: 1
},
// Probability that touch events will have these different properties
touchProbability: {
multipleTaps: 0.05,
multipleTouches: 0.05,
longPress: 0.05
}
},
numberOfEvent
的意思很明确,代表需要产生随机事件的个数。
delayBetweenEvents
代表两个事件之间的延迟时间。这个值一般是需要调整的。如果该值为0,那么脚本会尽可能快的向设备发送事件。
eventWeights
这个值代表每个事件的触发几率。如果tab
事件的值为100、orientation
事件的值为1,那么tab
事件触发的几率就是orientation
的100倍。
touchProbability
控制着不同种类的tab
事件。默认情况下,tab就是单击事件。调整这些参数可以设置双击、长按事件发生的频率。这些值要界于0、1之间。