灵通163百科在线-实用的手机,证券免费资源网站

您现在的位置:首页 > Android资源 > 软件工具 >

Android和iOS 测试五个最好的开源自动化工具

教程来源:www.lt163.com     点击数:     更新时间:2018-01-14 04:07

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

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

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

  1.Calabash(适用于Android和iOS)

  Calabash是一个开源的验收测试框架,支持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编写结构化英语句子的测试场景。

没有相关教程
UC浏览器 最先进实用的手机端浏览器,最大限度节省页面浏览流量,点击下载
老虎地图 绿色纯免费GPS定位省流量的最佳手机地图,点击下载
网秦手机安全系列 手机杀毒防盗,防火墙,构建手机安全,点击进入
塞班精品游戏 最流行最给力的塞班S60免签名名精品游戏合集,点击进入
阿里通 手机上轻松拨打网络电话和收发短信,高音质超省话费,资费标准
爱科手机电话 国内最好的手机网络电话领先品牌,价格低廉,点击查看
愤怒的小鸟2 全民挑战超流行休闲游戏力推新作-愤怒的小鸟2,点击查看
魔力旺旺 淘宝卖家首选的交易工具

资源下载排行
文章阅读排行