自动化测试于产品测试里起着相当关键重要的益处它可为项目开发带来好多好处, 于产品开发时期, 重复且可靠地运行, 保证不存在回归方面的问题, 于产品面临交互的关键时分, 以最短的时间覆盖最大化面积的测试执行区域, 它反复地开展每个周期的回归测试, 最大程度地降低人为错误所引发的风险或者疏忽。市场之上存在着诸多自动化测试工具, 它们之中包含开源的, 也涵盖付费的, 前者于自动化测试社区被广泛运用, 要是你想于项目里头挑选恰当的开源自动化工具, 那会极为棘手。以下笔者搜集了移动开发常用的五个开源自动化工具, 以供你参考。1) (可用于和iOS开发)这是一个开源的测试框架, 用于iOS自动化验收。它是跨平台的框架, 为iOS自动化测试提供独立库, 能支持通过自然英语传递应用行为来实现BDD行为驱动开发。搭建起一座连通测试工具以及移动端操作系统的桥梁, 被提供了。所撰写的一份列出测试声明的清单, 会造就不一样的测试场景, 并且这些声明全部都是依靠Ruby予以定义的。在其中, 一个声明仅能够被定义一回, 然而却能够反复应用于一个脚本之下的多个不同的场景当中。有语言在文件里编写实际的测试, 之后转译成Ruby语言, 接着在框架之中运行。优点缺点2) (可用于和iOS开发)这是借助Sauce Labs公司之力所开发的, 一个专门针对本地、 混合以及移动web应用程序所创制得以发挥开放源特性的自动化测试框架。在此框架之内, 存在着能够进行相关程序步骤操作的库函数, 这些函数可以凭借特定方式去调用, 运行 在具备后台操作连接效应的某些设备之上的服务器, 在其内部, 它会运用特定协议, 与属于iOS范畴或者应用程序所使用的相关内容进而产生某种联系。和主要由Ruby予以支持的不一样, 使用的框架语言能够让你随意挑选, 这里面涵盖Java, Ruby以及所有其它予以支持的语言。那被托管于节点服务器之上的是服务器。至于要开启服务器, 靠的是一组节点命令。要是你把从网站下载而来的独立应用程序用作服务器, 工具就能针对你应用程序上的所有定位器展开定位、识别以及操作。优点缺点3) (可用于开发)这是一个开源测试框架, 其用于功能开发, 用于系统开发, 用于验收测试场景开发。它跟别的某个东西相近似, 然而它仅能被用来做特定的某件事。当前, 它已得了2.0那样的一种许可。因为极为简易且能够打造强大稳固的自动化场景, 所以在自动化社区里备受欢迎, 它采用了运行时间同GUI组件相融合的办法, 安装测试用例套件当作是装置或者模拟器上的应用程序, 进而提供了测试执行的真实环境。优点缺点4) Frank(可用于iOS开发)Frank是个框架, 是用于iOS应用程序自动化的框架, 它具备这样的功能, 是什么功能呢, 是能提供在其中使用英语句子去编写测试场景的功能。Frank得被编写进处于测试环境里的应用程序当中, 这表明你的源代码会出现强制性的变化, 它把发送至运行着本地应用程序的服务器端的以及JSON命令给结合起来, 并且凭借运行这些命令。优点缺点有一个测试框架, 它是由谷歌开发的, 用于对本地的众多应用、游戏, 来开展那先进的UI测试。这测试框架, 竟是一个Java库, 它涵盖了创建功能性UI测试所需要的API, 还有运行测试所必备的执行引擎。这个库, 还附带了SDK, 以及专门供初学者去学习的入门教程。它存在着一个颇为显著的优势, 就是在运行并进行拜访不同进程的时候, 它能够赋予JUnit测试用例特殊的许可。尽管它确实相当不错, 能让本地的诸多应用程序实现自动化这件事儿变得越发简单起来了, 然而它对于自动化的支持实际上却是相对相当有限的。除此之外, 它仅仅支持那些API级别处于16以及比16更高的设备, 当然啦, 这算不上是一个比较大的问题, 毕竟当下绝大多数的应用程序都是运行在API级别处于19以及比19更高的设备之上的。优点缺点