• 使用Fastmonkey进行iosMonkey测试初探


    导读

    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可打开日志文件夹查看。

    哈喽,喜欢这篇文章的话烦请点个赞哦!万分感谢(^▽^)PS:有问题可以联系我们哦v ceshiren001

    复制“下方链接”,提升测试核心竞争力!
    更多技术文章分享和免费资料领取

  • 相关阅读:
    什么是供应链?
    必看!换了流量卡,原来的手机卡你就这么操作,绝对完美!
    汽车烟雾测漏仪(EP120)
    神经元在人体内如何分布,人体神经元怎么分布的
    阿里云升级版短信验证教程PHP篇
    2022 最新的 Java 八股文合集来了,彻底解决各大大厂面试难题
    【COMP329 LEC 2 Agent and Robot Architectures】
    部署LVS-DR集群
    Spring进行AOP操作:什么是AspectJ?基于AspectJ实现AOP操作
    对象中的字段隐藏
  • 原文地址:https://blog.csdn.net/Tester_muller/article/details/125550812