仟亿科技给您介绍五个ios和android最佳的开源自动化工具-欧洲杯买球app

0411-39943997
工作时间:周一至周日 8:30-16:30
技术文库
technical library
仟亿科技给您介绍五个ios和android最佳的开源自动化工具
标签: 移动互联技术  访问: 7832017-02-23

自动化测试在产品测试上有着非常重要的作用。实现测试自动化有多种积极的方式,包括最大限度地减少测试执行时间;在关键的发布阶段,用更少的时间确保更大的覆盖范围;在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题。最大限度地减少重复性回归测试循环时的人为错误和疏忽的风险。

在市场上有很多可用的工具,开源的或要付费的。虽然付费和开源工具各有利弊,但是后者在自动化测试社区得到了广泛的应用。根据项目需求来选择合适的自动化工具是非常棘手的。


下面介绍5个最佳的ios和android开源自动化工具。

1.calabash(适用于android和ios)

是一个开源的验收测试框架,支持android和ios自动化。calabash为android和ios自动化测试提供了一个单独的库。这是一个跨平台的框架,支持 cucumber,cucumber能让你用自然的英语语言表述app的行为,实现bdd(behavior driven development,行为驱动开发)。

calabash提供了一个桥梁,允许cucumber测试对ios和android运行和验证。cucumber测试使用一列语句写入,这些语句会形成很多测试场景。cucumber中的所有语句使用ruby定义。

在calabash,cucumber语句只能被定义一次,但可以在cucumber脚本的不同场景中重复使用。

实际测试是用gherkin写的,依靠ruby代码的支持,并在cucumber框架的上下文中运行。

优点:

◆大型社区支持。

◆简单,类似英语表述的测试语句。

◆支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。

◆大型且热心的社区。

◆跨平台开发支持(同样的代码在android和ios设备中都适用)。

缺点:

◆测试步骤失败后,将跳过所有的后续步骤。这可能会导致错过更严重的产品问题。

◆需要时间来进行测试,因为它首先总是默认安装app。但是,这种设置可以通过在代码中配置一个钩子(hook)覆盖掉。

◆需要calabash框架安装在ios的ipa文件中。

◆我们必须要有ios的app代码。

◆除了ruby,对其他语言不友好。

2.appium(android和ios)

appium是sauce labs出品的一个开源的自动化测试框架,用于原生、混合和移动的web app。框架内的appium库函数调用appium服务器是在操作连接设备的后台运行的。它在内部使用jsonwireprotocol,来与使用 selenium的webdriver的ios和android app进行互动。

不像calabash只支持ruby开发,在框架中使用appium时,你可以从java、python和ruby,以及所有其他selenium webdriver支持的语言中选择。

appium服务器被托管在node服务器上。你可以通过触发一组node命令来启动appium服务器。使用appium standalone application作为服务器(从appium网站下载),inspector工具可对app的所有定位器提供查找/识别/操作的能力。

优点:

◆支持多种语言。

◆不需要访问源代码。

◆跨平台脚本开发。

◆大型社区支持。

◆支持mac上的脚本记录。

◆使用appium server应用程序的inspector工具提取标识符。

◆通过appium server的桌面应用程序对selendroid内置支持。

◆它还使用供应商提供的框架:适用于ios的uiautomation ,分别适用于android 4.2 和 2.3 的uiautomator和selendroid。

◆支持物理设备与仿真器。

◆支持原生,混合和移动的web自动化应用程序。

缺点:

◆appium server桌面应用程序的发布常常不稳定。

◆脚本记录不适用于application服务器对于windows os的桌面应用程序。

3.robotium(android )

robotium是一个开源的测试框架,用于开发功能性,系统,和验收测试场景。它与selenium非常相似,除了robotium只适用于android。它注册在apache license 2.0下。

因为它不但简单,而且又具有创建强大又可靠的自动化场景的能力,因而它在自动化测试社区广泛流行。

它采用运行时绑定到gui组件。它安装了一个测试用例套件作为在android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。

优点:

◆容易在最短的时间内编写测试脚本。

◆预装自动化app是可能的。

◆自动跟随当前activity。

◆由于运行时绑定到gui组件,所以相比appium,它的测试执行更快,更强大。

◆不访问代码或不知道app实现,也可以工作。

◆支持activities、dialogs、toasts、menus、context menus和其他android sdk控件。

缺点:

◆不能处理flash和web组件。

◆支持java开发。

◆在旧设备上会变得很慢。

◆由于不支持ios设备,当自动化测试同时覆盖 android与ios的情况时,测试会被中断。

◆没有内置的记录和回放功能. 使用记录功能需要 testdroid 和 robotium recorder 这样收费工具。

4.frank(ios)

frank是一个ios app的自动化框架,允许使用cucumber编写结构化英语句子的测试场景。

frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。这是一个使用cucumber和json组合命令的工具,命令发送到在本地应用程序内部运行的服务器上,并利用uispec运行命令。

优点:

◆测试场景是在cucumber的帮助下,用可理解的英语句子写的。

◆symbiote——包含实时检查工具。

◆如果团队有关于web selenium和cucumber自动化框架的经验,也有效。

◆活跃的社区支持。

◆不断扩大中的库。

缺点:

◆对手势的支持有限。

◆在设备上运行测试有点难。

◆修改配置文件需要在实际设备上运行。

◆记录功能不可用。

5.uiautomator(android)

uiautomator是由谷歌提供的测试框架,它提供了原生android app和游戏的高级ui测试。这是一个包含api的java库,用来创建功能性ui测试,还有运行测试的执行引擎。该库自带android sdk。有很多教程可供初学者上手。优点是它在运行访问不同的进程时,会给junit测试案例特权。虽然这对本地自动化app既好又更简单,但是它对 web自动化视图非常有限或几乎没有任何支持。它仅支持使用api level 16及以上的设备,不过这也不算什么很大的因素,因为现在大多数的app支持api level 19及以上。

优点:

◆简单易学的教程。

◆库由谷歌社区支持和维护。

◆第三方支付集成了基于云计算的测试管理。

缺点:

◆仅支持android 4.1及以上。

◆不支持脚本记录。

◆支持的重点是java。

◆你不能获得当前活动或仪表化。

◆目前不支持web视图,因此是混合app。

◆库支持使用java,因此如果有人想和使用ruby的cucumber混合,会很困难。不过java有它自己的bdd框架,虽然在实践中用到的也不多。

欧洲杯手机投注 copyright© 2015 仟亿科技,all rights reserved.
网站地图