Android自动化测试,5个必备的测试框架

Appium

Appium是一个开源的移动测试工具,支持iOS和Android,它能够用来测试任何类型的移动应用(原生、网络和混合)。做为一个跨平台的工具,你能够在不一样的平台上运行相同的测试。为了实现跨平台的功能,Appium使用了供应商提供的Android UI框架来实施测试:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation。它将这些供应商框架封装到Selenium WebDriver中,这使得使用Appium的开发者能够编写各类类型语言的测试:Java、Objective-C、JavaScript、PHP、Ruby、Python等等。这也使得编写Appium测试与编写Selenium测试很是类似。web

WebDriver最初是为web测试建立的,Appium用额外的API方法扩展了WebDriver,使得它更适合于移动自动化。面试

如下是一些有用的Appium特性:api

  • 不须要在设备上安装任何东西。
  • 不须要从新编译或改变应用程序来匹配Appium。
  • Appium有一个很是大而活跃的社区。
  • Appium附带一个扫描和分析应用程序的UI组件的工具——Appium UI Inspector。开发人员也能够使用Android Studio的UI Automator Viewer。
  • 若是你须要为iOS和Android编写测试,而你是一个Selenium的爱好者的话,Appium将是一个很好的选择。bash


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框架,它的主要功能包含了跨应用程序的功能测试,即测试多个应用程序和在已安装与系统应用程序之间的切换的功能。3d

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的支持,能够用于真实设备的测试。

结语

为您的项目选择正确的Android UI框架是一项颇有挑战性的工做,在某些状况下,您可能须要使用多种工具来达到正确的平衡,这就是像Sauce Labs这样的支持多种测试框架的测试网格大受欢迎的缘由。以上内容就是本篇的所有内容以上内容但愿对你有帮助,有被帮助到的朋友欢迎点赞,评论。

相关文章
相关标签/搜索