您当前的位置:首页 > 文章摘抄 > 正文

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

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

前言本文主要介绍了Android和iOS最好的五款开源自动化工具,并在此整理了相关资料,希望对测试软件的朋友有所帮助,有需要可以看看。

自动化测试在产品测试中起着非常重要的作用。实现测试自动化有许多积极的方法,包括最小化测试执行时间;在关键发布阶段,用更少的时间保证更大的覆盖率;在产品开发阶段,可靠地重复运行,以确保不会引入回归问题。最小化重复回归测试周期中人为错误和疏忽的风险。

市场上有很多可用的工具,开源的或者付费的。尽管付费工具和开源工具各有优缺点,但后者已经在自动化测试社区得到了广泛的应用。根据项目需求选择合适的自动化工具是非常困难的。

以下是iOS和Android的五个最好的开源自动化工具。

1.葫芦(适用于Android和iOS)

Calabash是一个开源的验收测试框架,支持Android和iOS自动化。Calabash为Android和iOS自动化测试提供了单独的库。这是一个支持Cucumber的跨平台框架,可以让你用自然的英文语言表达app的行为,实现BDD(行为驱动开发)。

Calabash提供了一个桥梁,允许黄瓜测试在iOS和Android上运行和验证。黄瓜测试是用语句列表写的,会形成很多测试场景。Cucumber中的所有语句都是用Ruby定义的。

在Calabash中,Cucumber语句只能定义一次,但是可以在Cucumber脚本的不同场景中重用。

实际的测试是用Gherkin编写的,由Ruby代码支持,在Cucumber框架的上下文中运行。

优势:

大型社区支持。

简单的,类似英语的测试句子。

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

庞大而热情的社区。

跨平台开发支持(同一代码适用于Android和iOS设备)。

缺点:

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

测试需要时间,因为它总是默认先安装app。但是,可以通过在代码中配置一个挂钩来覆盖此设置。

葫芦框架需要安装在ios的ipa文件中。

我们必须要有iOS的app代码。

对除Ruby以外的其他语言不友好。

2.Appium(Android和iOS)

Appium是酱实验室出品的开源自动化测试框架,用于原生、混合和移动web app。框架中的Appium库函数调用Appium服务器在后台运行操作连接的设备。它在内部使用JSONWireProtocol与使用Selenium的WebDriver的iOS和Android应用程序进行交互。

与Calabash只支持Ruby开发不同,在框架中使用Appium时,可以选择Java、Python、Ruby以及Selenium WebDriver支持的所有其他语言。

Appium服务器托管在节点服务器上。您可以通过触发一组节点命令来启动Appium服务器。使用Appium独立应用程序作为服务器(从Appium网站下载),检查器工具可以提供查找/识别/操作应用程序的所有定位器的能力。

优势:

支持多种语言。

不需要访问源代码。

跨平台脚本开发。

大型社区支持。

支持Mac上的脚本录制。

使用Appium Server应用程序的Inspector工具提取标识符。

通过Appium Server的桌面应用程序内置对Selendroid的支持。

还使用了供应商提供的框架:iOS版的UIAutomation,Android 4.2和2.3版的UIAutomator和Selendroid。

支持物理设备和模拟器。

支持原生、混合和移动web自动化应用。

缺点:

Appium Server桌面应用的发布往往不稳定。

脚本录制不适用于应用服务器对Windows OS的桌面应用。

3.机器人(安卓)

Robotium是一个开源测试框架,用于开发功能、系统和验收测试场景。它与Selenium非常相似,只是Robotium仅适用于Android。它是在Apache许可证2.0下注册的。

因为它不仅简单,而且能够创建强大而可靠的自动化场景,所以在自动化测试社区中广受欢迎。

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

优势:

很容易在最短的时间内写出测试脚本。

可以预装自动化app。

自动关注当前活动。

因为运行时绑定了GUI组件,所以它的测试执行比Appium更快更强大。

你可以在不访问代码或不知道应用程序实现的情况下工作。

支持活动、对话框、祝酒词、菜单、上下文菜单等Android SDK控件。

缺点:

无法处理flash和web组件。

支持Java开发。

在老设备上会变得很慢。

由于不支持iOS设备,当自动化测试同时覆盖android和iOS时,测试会被中断。

没有内置录音回放功能。使用录音功能需要充电工具,如TestDroid和Robotium Recorder。

4.弗兰克(iOS)

Frank是一个iOS应用的自动化框架,它允许你使用Cucumber编写结构化英语句子的测试场景。

Frank要求在应用程序内部编译测试,这意味着对源代码的修改是强制性的。这是一个使用Cucumber和JSON组合命令的工具。这些命令被发送到在本地应用程序中运行的服务器,这些命令是通过使用UISpec运行的。

优势:

在黄瓜的帮助下,用可理解的英语句子编写测试场景。

Symbiote——包含实时检测工具。

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

积极的社区支持。

不断扩大的图书馆。

缺点:

对手势的支持有限。

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

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

录音功能不可用。

5.UIAutomator(Android)

UIAutomator是Google提供的测试框架,为原生Android应用和游戏提供高级UI测试。这是一个包含API的Java库,用于创建功能UI测试和运行测试的执行引擎。该库附带Android SDK。有很多针对初学者的教程。优点是,当它运行和访问不同的进程时,它将给予JUnit测试用例特权。虽然这对于本地自动化应用程序来说很好也很简单,但它对web自动化视图的支持非常有限或几乎没有。它只支持使用API 16级及以上的设备,但这并不是一个很大的因素,因为现在大多数app都支持API 19级及以上。

优势:

简单易学的教程。

该库由Google社区支持和维护。

第三方支付基于云计算整合测试管理。

缺点:

仅支持android 4.1及以上版本。

不支持脚本录制。

支持的重点是Java。

您无法获取当前活动或仪器。

目前不支持web view,所以是混合app。

库支持Java,如果有人想用Ruby混搭黄瓜会很困难。不过Java有自己的BDD框架,虽然在实践中用的不多。

以上是Android和IOS自动化测试的数据整理,以后继续补充相关资料。感谢您对本站的支持!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 德国vs葡萄牙直播(2021619欧洲杯赛事强强对战德国迎战葡萄牙)

下一篇: 中和农信最多贷款多少(中和农信贷款有年龄限制吗)



推荐阅读