多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

这些年用过的iOS自动化测试框架

更新时间:2022-04-29 09:12:21 作者:多测师 浏览:95

  iOS自动化测试一直很神秘,很多人都在探索和找寻最强大的那一款自动化测试工具。个人观点,没有最强大只有最适合,适合以后使用熟练了自然功能强大了。

  写在正文之前的几句废话。说到功能自动化测试一般特指基于UI层面的自动化,本文中介绍的自动化测试框架都是UI自动化测试框架。更大概念的自动化测试以后有时间再详细介绍吧。说到UI自动化测试,就会有不同的一些声音。说什么UI自动化测试投入产出比低,UI变化快脚本维护成本高等。其实,这是一个怎么看待UI自动化测试问题。个人认为适量的UI自动化测试投入产出比还是很高的,具体“适量”怎么理解需要看具体的场景。如果你觉得UI自动化一无是处,那么看到这里就可以千万别往下看了。

这些年用过的iOS自动化测试框架

  iOS到底有多少测试框架?大家一直在总结,之前stackoverflow上有一篇神帖总结过不下20种,当然不只是UI自动化测试框架,还包括单元测试框架什么的。(链接找不到了,由于时间比较老了很多工具已经不维护或者很少人使用,不看也罢)

  按照iOS自动化测试框架的实现原理来划分,iOS自动化测试框架大致可以分为两个大类4种类型:

  ·UI Automation系

  扩展型UI Automation

  驱动型UI Automation

  ·非 UI Automation系

  私有API型

  注入编译型

  UI Automation

  UI Automation是Apple官方提供的UI自动化测试的解决方法,虽然直接使用非常不爽,但是还不得不说。虽然不好用,但是作为一些工具的底层实现还是需要了解的。官方教程 和 相关API文档 可以方便查阅

  扩展型UI Automation

  TuneupJs是最早的iOS自动化测试工具,以JavaScript扩展库方法提供了很多好用js工具,最重要的是提供了超简洁的单元测试框架和持续继承解决方案。

  ynm3k是笔者维护的iOS自动化测试框架,借鉴或者说抄袭了很多TuneUpJs的想法,在其基础上加入了UI控件定位的很多方法,让测试脚本更加简单便捷。当然之后还有后续的维护计划,过了变态的996以后会开始实施。

  如果你偏爱这种类型的测试框架,我真心的推荐ynm3k。因为TuneUpJS已经不维护了,ynm3k还会做一些好玩的功能。最关键的是我觉得ynm3k的UI控件定位识别功能真的很棒。(老王卖瓜了这么长时间还请大家见谅)

  驱动型UI Automation

  驱动型UI Automation 在自动化测试底层使用了UI Automation库,通过TCP通信的方式驱动UI Automation来完成自动化测试。通过这种方式,编辑脚本的语言不在局限于JavaScript,理论上讲可以是任何一种语言。所以有了iOSDriver和Appium.

  iOSDriver和Appium还兼容了WebDriver的Json Wire Protocol协议,意味着你可以写WebDriver脚本来完成iOS自动化测试。当然在手机端的一些操作和Web端是不同的,iOSDriver和Appium都扩展了相关的功能。iOSDriver选择了多加入Java语言Jar包的方式支持,而Appium则选择了通过WebDriver注入JavaScript的方式支持。iOSDriver的实现方式决定了只能使用Java语言编辑脚本,而Appium则支持更多的语言。

  当然让我真正选择Appium的原因是因为Appium更加轻便易用一些。如果你不经常玩Java,使用iOSDriver的时候一定会在环境设置方面卡很长的时间。

  私有API型

  直接使用私有API对UI界面进行操作是最简洁有效的自动化测试方式。私有API结合iOS单元测试框架OCUnit的组合完全非常棒,至少对iOS开发工程师来说。在这种类型的测试框架中,KIF是必须介绍的。原因很简单,Google在使用。对于那些对Google无理由崇拜的人们,赶紧用起来吧。

  笔者关注了KIF一段时间,起初1.0版本的时候,真心的不好用。当然工具的维护者也意识到了这个方面的问题,推出了KIF的2.0版本,更新了很多的API。在2.0版本时,还不错。如果想做纯UI界面操作的话,不推荐使用KIF。

  注入编译型

  注入编译型是指在编译时注入一个Server到App内部,通过Server对外通信完成UI操作指令的执行。其中最著名的代表为Frank和Calabash. 它们还是BDD测试框架的杰出代表。维护大单位都是全球知名的敏捷咨询公司。喜欢cucumber和ruby的人可以考虑。

  以上内容为大家介绍了这些年用过的iOS自动化测试框架,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部