乐趣区

关于前端:安卓测试框架传奇

Appium
Appium 是一个开源的挪动测试工具,反对 iOS 和 Android,它能够用来测试任何类型的挪动利用(原生、网络和混合)。作为一个跨平台的工具,你能够在不同的平台上运行雷同的测试新手村传奇。为了实现跨平台的性能,Appium 应用了供应商提供的 Android UI 框架来施行测试:在 iOS 中应用 XCTest,在 Android 中应用 UIAutomator 或 Instrumentation。它将这些供应商框架封装到 Selenium WebDriver 中,这使得应用 Appium 的开发者能够编写各种类型语言的测试:Java、Objective-C、JavaScript、PHP、Ruby、Python 等等。这也使得编写 Appium 测试与编写 Selenium 测试十分类似。

WebDriver 最后是为 web 测试创立的,Appium 用额定的 API 办法扩大了 WebDriver,使得它更适宜于挪动自动化。

以下是一些有用的 Appium 个性:

不须要在设施上装置任何货色。
不须要从新编译或扭转应用程序来匹配 Appium。
Appium 有一个十分大而沉闷的社区。
Appium 附带一个扫描和剖析应用程序的 UI 组件的工具——Appium UI Inspector。开发人员也能够应用 Android Studio 的 UI Automator Viewer。
如果你须要为 iOS 和 Android 编写测试,而你是一个 Selenium 的爱好者的话,Appium 将是一个很好的抉择。

Calabash
Calabash 是由 Xamarin 公司开发和保护的一款开源的挪动测试工具,反对 iOS 和 Android 上的原生和混合利用。Calabash 测试反对手势辨认(gesture)、断言(assertions)和屏幕截图(screenshots)等性能,通常与驱动开发测试工具 Cucumber 一起集成应用。

Xamarin 在 2017 年发表,它将对 Calabash 进行持续开发。鉴于此决定,你能够将 Calabash 作为一个不太现实的备选测试解决方案。

Espresso
Espresso 是谷歌的一个 Android UI 框架。它是一个轻量级的、针对应用程序开发人员的白盒工具,这意味着要充分利用它,测试开发人员必须充沛相熟并且会应用利用程序代码。Espresso 的测试十分牢靠,并且运行速度很快,因为 Espresso 能够拜访 UI 对象的外部,它能够用于测试 WebView,即混合应用程序的开发。

Espresso 的毛病是,它一次只能测试一个应用程序,而且无法访问设施资源。然而,通过应用 UI Automator 创立的联结测试能够很容易地解决这个问题。
Sauce Labs 反对 Espresso 的实在设施测试。

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣能够加软件测试交换:1085991341,还会有同行一起技术交换。

UI Automator
UI Automator 是由谷歌开发和保护的挪动测试 Android UI 框架,它的次要性能蕴含了跨应用程序的功能测试,即测试多个应用程序和在已装置与零碎应用程序之间的切换的性能。

UI Automator 是一个黑盒测试工具,也就是说测试开发人员不须要晓得外部的应用程序构造,能够齐全依赖于可见的 UI 元素。UI Automator 的测试是用 Java 编写的,由两组 api 组成:其一为 UI Automator APIs,是控制应用程序的 UI 组件;其二为 device state APIs,用于拜访和执行设施上的操作(如扭转设施旋转,按方向键按钮,按返回,Home 或者菜单按钮等)。它还附带了一个十分有用的 UI Automator Viewer,这是一个能够扫描和剖析以后配置在设施上的 UI 组件的图形用户界面工具。

UI Automator 的毛病是不反对构建在混合 Android 应用程序之上的 WebView,因而,UI Automator 只反对原生的 Android 应用程序。

Robotium
Robotium 是一个开源的 Android UI 框架,它诞生于 2010 年,当初曾经是一个十分成熟和稳固的工具。其最近的一个版本是 5.6.3,公布于 2016 年 9 月。在最新的几个版本中,其测试可读性和测试执行的速度都有了显著进步。

大多数波及到 Robotium 的技术博客、教程和课程都是黑盒测试类型的。但实际上,它算是灰盒测试的,因为编写 Robotium 测试须要理解外部应用程序构造。

以下是 Robotium 的局部次要个性:

反对本机和混合应用程序。
能够在实在设施和模拟器上运行测试。
反对残缺的 Android UI 工具:流动、按钮、菜单、toast、对话框等。
反对手势。
有一些设施管制性能:扭转设施方向,截屏,解锁屏幕等。
Robotium recorder 是一个付费的 Android Studio 和 Eclipse 插件。这是一个很好的工具,能够疾速的启动和运行测试。
能够作为继续集成的一部分运行。
Robotium 的抉择语言是 Java。
Robotium 失去了 Sauce Labs 的反对,能够用于实在设施的测试。

退出移动版