写点什么

使用 Fastmonkey 进行 iosMonkey 测试初探

  • 2023-08-14
    北京
  • 本文字数:1423 字

    阅读完需:约 5 分钟

导读


Fastmonkey 是一款集成了众家之长,基于 XCTestWD、swiftMonkey 二次开发的开源的 iOS 应用 Monkey 测试工具。


** 它有以下优点**


1


无需插桩;


2


高效率,每秒 4-5 个 action;


3


轻量极简,配置简单,上手快;


运行


环境


1


安装 carthage


carthage 是一款 iOS 第三方库管理工具,用于下载 Faskmonkey 工程所依赖的第三方库。安装方法 brew install carthage;


2


安装 usbmuxd,brew install usbmuxd,主要使用 iproxy;


3


Fastmonkey 工程代码直接从


https://github.com/zhangzhao4444/Fastmonkey


下载或 clone;


4


下载后定位到 XCTestWD-master 目录


cd /Users/xxxxx/Fastmonkey/XCTestWD-master 使用 carthage 安装第三方依赖库。安装方法 carthage update --no-use-binaries。安装过程一般会出现各种错误,查看 log 日志,具体定位错误原因,解决之;


5


配置 Fastmonkey 工程中的证书、bundleid 相关内容;


XCTestWD 项目工程代码配置及测试运行


1.修改 bundleid


将 server/XCTestWDMonkey.swift 文件中的 bundleID 改为被测 App 的包名:



2.设置运行时长


在 server/Controller/Monkey.swift 文件中,修改 elapsedTime 为需要运行 Monkey 的时长,单位是秒,如下图:



3.其它可选配置


在 XCTestWDMonkey 文件中,默认调用 addXCTestCheckCurrentApp 接口开启 APP 后台或退出检测。它以参数 intervarl 为时间间隔,检查被测 app 是否在当前运行,如果没有则再启用 app。在测试场景中,如果不需要这项检查,则注释调用该接口即可。


同理,可以选择是否调用 addXCTestTapAlertAction 接口,它的作用是以 interval 时间间隔检查是否有弹框出现,如果有,则随机点一个选项按键。


两接口位置如图:



在 addDefaultXCTestPrivateActions 接口里可以配置 Monkey 测试包含哪些操作,可选操作如图:



addXCTestElementTapAction,页面元素随机点击操作;


addXCTestTapAction,根据随机产生的坐标点点击页面,点击类型可以是单击、多击、多手指操作,且各种操作产生的概率可以通过参数配置,如果只需要测试单击,将后两个参数置 0 即可;


addXCTestLongPressAction,坐标点长按操作;


其它还有扩大、缩小、滑屏操作等,配置测试时注释掉不需要的操作,保留需要的操作。


4.自定义操作


在实际测试过程中,难免会有一些自定义的测试需求。熟悉了上面的配置入口,可以深入其中修改代码,满足自己的测试需求。比如在测试中,界面上有一个“使异常退出”按键,在测试中,不希望点击这个按键。则可以通过下面的一些简单修改屏蔽掉对这个按键的点击,其它按键继续随机点击不受影响。


在 addXCTestElementTapAction 接口中增加如下判断即可,



如果采用坐标点随机点击的方式,可以通过采用不同的随机坐标点产生接口来控制点击的范围,比如


randomPoint(),在 app 的页面内产生随机坐标点,默认方式


randomPointAvoidingPanelAreas(),在除去 app 的上下边框外的区域产生随机坐标点,且上下去除区域大小可以在代码中修改


randomPoint(inRectrect:CGRect),在指定的矩形区域 rect 中产生坐标点。


同样也可以在 addXCTestTapAction()接口中添加对点击随机坐标点的限制,如下图修改的代码部分,即屏蔽了对 rect 和 rect2 矩形区域的点击。



5.执行 Fastmonkey


被测 App 事先安装到被手机上,手机插入 Mac 电脑 USB 接口,iproxy 进行端口映射。从下拉列表中选择 XCTestWDUITests 与手机:


再选择 Product--Test 执行 Monkey 测试,成功执行测试则在 log 窗口不断刷新日志,参考下图:



6.查看日志


当测试结束或手动停止测试运行后,在 log 窗口会显示日志存放路径:



使用 visual studio code 可打开日志文件夹查看。


获取更多技术资料,请点击!


用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
使用Fastmonkey进行iosMonkey测试初探_霍格沃兹测试开发学社_InfoQ写作社区