您现在的位置是:首页 > 正文

IOS Monkey测试UI AutoMonkey

2024-02-01 03:42:21阅读 2

转自: http://www.yeetrack.com/?p=861


IOS Monkey测试UI AutoMonkey

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项目,并启动工具模板选择器。profile
  • 下一步,在选择器中选择“UI Automation”。当我们创建了自动化模板后,就可以测试app的性能了。
  • 在Scripts面板中,点击“Editor Log”,在下拉列表中选择“Script”,点击“Add”按钮,在下拉列表中选择”Create”,就可以新建一个js脚本。scriptpane
  • UIAutoMonkey.js这个文件的内容粘贴到新建的js脚本中(或者可以直接将UIAutoMonkey.jsimport进去。createscript
  • 此时,我们可以直接点击播放按钮,来执行这段脚本,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之间。


网站文章

  • NPOI 通过excel模板写入数据并导出

    HSSFWorkbook workbook = null; string FileName = @"D:\XX\CN\" + datetime + ".xls"; using (FileStream fs = File.Open(FileName ,FileMode.Open, FileAccess.Read))

    2024-02-01 03:42:14
  • 【问题解决】报错 Could not connect to SMTP host: smtp.qq.com, port: 465(狂神)

    在狂神教学中,21年8月实测如果加上这段代码会报错Could not connect to SMTP host: smtp.qq.com, port: 465,将下面这段代码注释掉即可 MailSSL...

    2024-02-01 03:42:08
  • 流程图梳理

    流程图梳理

    流程图是产品经理传达需求的常用做法,三大类:业务流程、页面流程、功能流程。分别对应着战略、战术、执行三大层次。 业务流程 体现Boss对整个产品的战略思想。产品经理根据老板的传达以及自身对产品的理解,梳理出整个产品核心业务的走向,生成业务流程图。 页面流程 体现PD对核心业务的高度理解。把核心业务的每一个节点抽象成一张张页面图,用页面跳转体现节点关系,生...

    2024-02-01 03:42:00
  • 游戏反外挂方案解析 最新发布

    游戏反外挂方案解析 最新发布

    因游戏作弊门槛低、游戏安全对抗不对等、黑灰产业链发展完善、法律维权门槛高等因素,游戏安全问题形势愈发严峻,「游戏反外挂」已经成了厂商的必修课。

    2024-02-01 03:41:31
  • FFmpeg 视频处理入门教程(转)

    FFmpeg 视频处理入门教程(阮一峰) FFmpeg 是视频处理最常用的开源软件。 它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式...

    2024-02-01 03:41:24
  • java语言的动态性相关概念;动态绑定、动态连接、与虚方法

    1.动态连接(链接)java代码在进行javac编译的时候不会像c或者c++有“连接”这一步骤,而是虚拟机在加载Class文件的时候进行动态连接。也就是说在class文件中不会保存各个方法,字段最终在...

    2024-02-01 03:41:16
  • 配置一个加密的服务器

    配置一个加密的服务器

    一.添加一个ip地址 二.创建目录 命令:mkdir /tengbaiwan 检查 三.磁盘分区和格式化 1.在虚拟机关机情况下,添加一块新的磁盘 2.磁盘分区 注:磁盘可以分为主分区和扩展分区,而逻...

    2024-02-01 03:40:46
  • 代码方式配置和xml文件方式混合配置spring

    使用代码的配置方式和xml配置方式配置spring

    2024-02-01 03:40:38
  • ubuntu 安装 repo 记录

    安装步骤:1、根目录下创建bin文件夹mkdir ~/bin2、配置为临时环境变量(也可配置为永久的)PATH=~/bin:$PATH3、下载repogit clonehttps://gerrit-g...

    2024-02-01 03:40:31
  • exe获得命令行参数的办法

    exe获得命令行参数的办法第一种办法——通过__argc宏、__argv[i]第二种办法——MFC中办法 第一种办法——通过__argc宏、__argv[i] for(size_t i=0;i<...

    2024-02-01 03:40:00