自动化测试于产品测试里起着相当关键重要的益处!它可为项目开发带来好多好处, 于产品开发时期, 重复且可靠地运行, 保证不存在回归方面的问题, 于产品面临交互的关键时分, 以最短的时间覆盖最大化面积的测试执行区域, 它反复地开展每个周期的回归测试, 最大程度地降低人为错误所引发的风险或者疏忽。
市场之上存在着诸多自动化测试工具, 它们之中包含开源的, 也涵盖付费的, 前者于自动化测试社区被广泛运用, 要是你想于项目里头挑选恰当的开源自动化工具, 那会极为棘手。以下笔者搜集了移动开发常用的五个开源自动化工具, 以供你参考。
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更高的设备之上的。
优点:缺点: