关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 安卓开发 »5 个 iOS 和 Android 最佳的开源自动化工具

    5 个 iOS 和 Android 最佳的开源自动化工具

    2015-11-07 00:00:00 出处:安卓弟的专栏
    分享

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

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

    下面介绍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编写结构化英语句子的测试场景。

    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框架,虽然在实践中用到的也不多。
    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    SQL汉字转换为拼音的函数

    windows 7系统无法运行Photoshop CS3的解决方法

    巧用MySQL加密函数对Web网站敏感数据进行保护

    MySQL基础知识简介

    Windows7和WinXP下如何实现不输密码自动登录系统的设置方法介绍

    windows 7系统ip地址冲突怎么办?windows 7系统IP地址冲突问题的

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。