android 5个自动化测试Ui框架

Appium

appium.io/html

Appium 能够测试几乎全部的手机app:android、ios、web、hybrid,它是一款跨平台工具,这表明同一个测试用例能够在不一样的平台执行。java

编写测试用例语言:java,Object-C,PHP,Ruby,Python等。android

Appium特性:

  • 无需在设备安装其余的app
  • 无需从新编译或者改变app的代码
  • Appium社区很是活跃
  • Appium附带一个能够扫描和分析应用程序Ui组件的工具-Appium Ui inspector.

Calabash

calaba.sh/ios

Calabash 是Xamarin 开发和维护的一款开源移动测试工具,支持在Ios和android上的 native和hybrid app。git

主要用于行为测试:手势、截屏github

Espresso

saucelabs.com/blog/the-to…web

Espresso 是google开发的一款Android Ui轻量级的白盒测试框架。它执行测试用例很是速度,能够访问Ui的内部对象。能够测试WebView、hybrid应用程序,只能用java来写测试用例api

Espresso的缺点是只能同时测试一个应用程序,而且不支持访问设备的资源。但能够采用下面blog来解决这种问题: qathread.blogspot.com/2015/05/esp…bash

UI Automator

developer.android.com/training/te…app

UI Automator 是由google开发android Ui 测试框架。最核心的功能是能够跨应用测试,它能够测试多个已安装的应用或系统应用之间切换。

它属于黑盒测试工具,它也只能用java来编写测试用例,它由2部分api组成

  • UI Automator APIs: 用于操做app的UI组件
  • 设备状态APIs: 用于在设备的访问和执行操做(例如:改变设备的旋转方向,按下返回键等)

它的缺点是只支持android native app

Robotium

github.com/RobotiumTec…

Robotium 是一款开源的Android Ui 框架。 它出如今2010年,如今它是一款很是可靠、稳定的工具。

许多文章和blog都表面Robotium是黑盒测试, 但我认为它应该属于灰盒测试,由于,当你编写测试用例时,你至少要知道应用程序的结构(例如:activity的名称)

Robotium 特性

  • 支持native和hybrid应用
  • 能够运行在真机和模拟器上运行
  • 支持全部的原生组件:activities、buttons、menus、toasts、dialogs等
  • 支持手势
  • 能够控制设备部分功能:改变设备方向、截屏、解锁等
  • Robotium recoder 能够在eclipse和android Studio 插件库上下载。它是能够迅速的执行测试用例
  • 编写用例语言是java
相关文章
相关标签/搜索