0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

lhl545545 来源:电子发烧友网 2018-02-06 15:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

本文主要介绍AndroidiOS 五个最好的开源自动化工具,这里整理了相关资料,希望能帮助测试软件的朋友,有需要的看下。

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

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

下面介绍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时,你可以从JavaPython和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框架,虽然在实践中用到的也不多。

以上就是对Android 和IOS 自动化测试的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3985

    浏览量

    133068
  • iOS
    iOS
    +关注

    关注

    8

    文章

    3400

    浏览量

    155173
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式C/C++回归测试四大最佳实践(附自动化测试工具TESSY使用教程)

    嵌入式开发中,一次微小的代码改动都可能引发“蝴蝶效应”,如何守护系统的稳健?推荐专业的自动化测试工具#TESSY,源自戴姆勒-奔驰,是嵌入式C/C++单元/集成测试的标杆。
    的头像 发表于 10-31 14:21 184次阅读
    嵌入式C/C++回归<b class='flag-5'>测试</b>四大最佳实践(附<b class='flag-5'>自动化</b><b class='flag-5'>测试工具</b>TESSY使用教程)

    不同类型的自动化工具在评估数据缓存效果时有哪些优缺点?

    在评估数据缓存效果时,不同类型的自动化工具(实时监控类、性能测试类、深度分析类、云原生专属类)因设计目标和技术特性不同,存在显著的优缺点差异。以下结合工具类型与具体场景,系统对比其核心优劣势,并给出
    的头像 发表于 09-25 17:48 507次阅读
    不同类型的<b class='flag-5'>自动化工具</b>在评估数据缓存效果时有哪些优缺点?

    怎样确保自动化工具在电能质量在线监测装置的安全防护检查中的准确性?

      确保自动化工具在电能质量在线监测装置安全防护检查中的准确性,需围绕 “ 工具本质可靠性、场景适配性、结果可验证性、全生命周期管控 ” 四大核心,从工具选型、校准溯源、算法优化、配置验证、环境适配
    的头像 发表于 09-23 17:42 431次阅读

    测试小白3分钟上手,零代码自动化测试平台,15分钟搭建自动化测试方案

    还在为不懂代码、搭建测试方案耗时久而发愁?ATECLOUD 零代码自动化测试平台,专为自动化测试量身打造,小白3 分钟就能轻松上手,15 分
    的头像 发表于 09-22 17:52 612次阅读
    <b class='flag-5'>测试</b>小白3分钟上手,零代码<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>平台,15分钟搭建<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>方案

    宏集案例 | ABB能源自动化选用Cogent DataHub避免DCOM问题,实现高效、安全的数据传输

    案例概况ABB能源自动化公司通过宏集CogentDataHub软件将电厂设施的数据实时传输到公司办公室,实现了OPC隧道/镜像解决方案,在电厂和公司网络之间建立了一安全、可靠的连接,确保数据传输
    的头像 发表于 08-08 18:22 428次阅读
    宏集案例 | ABB能<b class='flag-5'>源自动化</b>选用Cogent DataHub避免DCOM问题,实现高效、安全的数据传输

    什么是电源自动测试系统?有什么作用?

    在现代电子制造业,高效的测试流程对于确保产品质量至关重要。电源自动测试系统作为一种先进的电源测试解决方案,正逐渐成为众多电子制造企业的选择。源仪电子在电源自动测试领域已经二十余年,经验
    的头像 发表于 06-05 11:30 645次阅读
    什么是电<b class='flag-5'>源自动测试</b>系统?有什么作用?

    非技术人员如何用n8n + DeepSeek打造AI自动化工作流?

    ‌ 是一开源的低代码自动化工作流工具,允许用户通过可视化界面连接不同的应用程序和服务,实现任务自动化。 掌握n8n,公司中的非技术人员也能
    的头像 发表于 04-09 14:28 7818次阅读
    非技术人员如何用n8n + DeepSeek打造AI<b class='flag-5'>自动化工</b>作流?

    HFSS 自动化建模工具

    因工作需求,自己写的HFSS参数自动化建模工具,目前只实现了常用的四种模型,可定制化,如需可联系 qq:1300038043 附件下载链接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT8IQA 提取码: kxup
    发表于 02-27 17:44

    源自动测试系统:源仪电子如何助力电源行业高效测试与质量控制

    工具。源仪电子凭借20年的技术积累,推出了高性能的电源自动测试系统,为电源行业提供高效、省力的测试解决方案。
    的头像 发表于 02-26 16:03 787次阅读
    电<b class='flag-5'>源自动测试</b>系统:源仪电子如何助力电源行业高效<b class='flag-5'>测试</b>与质量控制

    是德科技推出LPDDR6设计和测试解决方案

    解决方案显著改善了设备和系统验证,同时提供AI技术发展所必需的全新测试自动化工具,这些测试自动化工具尤其能够推动AI技术在移动设备和边缘设备中的应用和进步。
    的头像 发表于 02-08 14:49 1147次阅读
    是德科技推出LPDDR6设计和<b class='flag-5'>测试</b>解决方案

    IT自动化工具Ansible基础入门

    Ansible是帮助运维人员实现自动化的最重要的工具之一。
    的头像 发表于 02-07 10:00 1320次阅读
    IT<b class='flag-5'>自动化工具</b>Ansible基础入门

    七款经久不衰的数据可视化工具

    Sense 是一种自助式分析工具,旨在通过内存计算和可视化手段使数据分析变得简单直观。它适合各种规模的企业,但相比于Tableau和Power BI,其学习曲线稍显陡峭。 3. 开源数据可视化工具
    发表于 01-19 15:24

    DevSecOps自动化在安全关键型软件开发中的实践、Helix QAC&amp;amp; Klocwork等SAST工具应用

    DevSecOps自动化旨在通过在软件开发生命周期的各个阶段集成安全流程,使用自动化工具和最佳实践来简化开发、安全和运营。实现DevSecOps自动化流程的一重要部分就是使用SAST
    的头像 发表于 01-03 16:05 722次阅读
    DevSecOps<b class='flag-5'>自动化</b>在安全关键型软件开发中的实践、Helix QAC&amp;amp; Klocwork等SAST<b class='flag-5'>工具</b>应用

    通用自动化测试软件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一款通用的测试用例自动化执行框架,用于汽车电子自动化测试,可支持仿真( MIL/SIL/HIL)、故障注
    的头像 发表于 01-02 13:42 1286次阅读
    通用<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>软件 - TAE

    华大九天推出PowerMOS版图自动化工具

    华大九天近期推出了Empyrean Andes™ Power工具,旨在助力电源管理集成电路设计领域实现更高的效率和准确性。该工具集成了两大核心功能:PowerMOS版图自动生成工具
    的头像 发表于 12-30 11:07 1462次阅读