IOS压力测试工具:UI AUtoMonkey

jopen 10年前

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测试。

  • 首先,使用xcode打开你的ios项目,从“Product”菜单中选择“Profile”(或者直接快捷键Command+i),这样就可以构建ios项目,并启动工具模板选择器。IOS压力测试工具:UI AUtoMonkey
  • 下一步,在选择器中选择“UI Automation”。当我们创建了自动化模板后,就可以测试app的性能了。
  • 在Scripts面板中,点击“Editor Log”,在下拉列表中选择“Script”,点击“Add”按钮,在下拉列表中选择”Create”,就可以新建一个js脚本。IOS压力测试工具:UI AUtoMonkey
  • UIAutoMonkey.js这个文件的内容粘贴到新建的js脚本中(或者可以直接将UIAutoMonkey.jsimport进去。IOS压力测试工具:UI AUtoMonkey
  • 此时,我们可以直接点击播放按钮,来执行这段脚本,monkey测试就开始了。

额外配置

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之间。