行业资讯 | 作者:回忆和感动 | 2015-10-23 15:47:43| 阅读 53次 有用 (0) 评论 (0) 收藏
概述:在市场上有很多的自动化测试工具,有开源的,也有付费的,其中前者被广泛应用在自动化测试社区,如果你想要在项目中选择合适的开源自动化工具,会相当的棘手。 以下笔者收集了移动开发常用的五个开源自动化工具,供你参考。
自动化测试在产品测试中起着非常重要的作用。它能够给项目开发带来诸多好处:在产品开发阶段,重复可靠的运行,确保没有回归方面的问题;在产品面临交互的关键时刻,用最短的时间覆盖最大化面积的测试执行区域;它重复地进行着每个周期的回归测试,最大限度地减少人为错误所产生的风险或疏忽。
在市场上有很多的自动化测试工具,有开源的,也有付费的,其中前者被广泛应用在自动化测试社区,如果你想要在项目中选择合适的开源自动化工具,会相当的棘手。 以下笔者收集了移动开发常用的五个开源自动化工具,供你参考。
Calabash是一个用于Android和iOS自动化验收的开源的测试框架。作为一个跨平台的框架,它为Android和iOS的自动化测试提供了独立的库,支持Cucumber——通过自然的英语传递应用行为从而实现BDD(行为驱动开发)。
Calabash提供了一条连接Cucumber测试工具与移动端操作系统的桥梁。所编写的Cucumber测试声明列表会形成不同的测试场景,而这些声明全都是由Ruby定义的。
在Calabash中,一个Cucumber的声明只允许被定义一次,但是可重复运用到一个Cucumber脚本下的多个不同的场景之中。
实际的测试都是由Gherkin语言进行编写(在feature文件中),再转译成Ruby语言,然后运行在Cucumber框架之中。
Appium是由Sauce Labs公司开发的一个用于本地、混合、移动web应用程序的开源自动化测试框架。Appium框架中的库函数可调用运行在后台操作连接设备的Appium服务器,在内部它使用JSONWire协议与使用Selenium WebDriver 的iOS或Android应用程序产生联系。
与主要由Ruby支持的Calabash不同的是,Appium使用的框架语言可由你任意选择,这其中包括Java、 Python、 Ruby和所有其它Selenium WebDriver支持的语言。
Appium服务器被托管在节点服务器之上。你可以通过一组节点命令来开启Appium服务器。如果你使用Appium独立应用程序来作为你的服务器(从Appium网站下载),Inspector工具就可以对你应用程序上的所有定位器(Locator)进行定位/识别/操作。
Robotium是一个用于功能、系统和验收测试场景开发的开源测试框架。它与Selenium很相似,但只能用于Android。目前,它已经获得了Apache License 2.0的许可。
由于非常简单并且能够创建强大健壮的自动化场景,Robotium在自动化社区中广受欢迎。它使用了运行时间与GUI组件相结合的方式,安装测试用例套件来作为Android设备或者模拟器上的应用程序,从而提供了测试执行的真实环境。
Frank是一个iOS应用程序自动化框架,它提供了在Cucumber中使用英语句子编写测试场景的功能。
Frank需要被编译进测试环境下的应用程序中,这就意味着你的源代码会发生强制性改变。它结合了发送到运行着本地应用程序的服务器端的Cucumber和JSON命令,并通过UISpec运行这些命令。
UIAutomator是由谷歌开发的用于对本地的Android应用和游戏提供先进UI测试的测试框架。这是一个包含创建功能性UI测试所需API和运行测试所需执行引擎的Java库。这个库附带Android SDK以及供初学者学习的入门教程。它有一个很大的优势是在运行访问不同进程时它能够给予JUnit 测试用例特殊许可。虽然它非常不错,使本地的应用程序自动化变得更加简单了,但是它对于WebView自动化的支持却相当有限。另外它只支持API级别在16及其以上的设备,当然这不是一个大的问题,因为现在大多数的应用程序都运行在API级别在19及其以上的设备上。
联系客服