Appium

appium.io/

Appium 可以测试几乎所有的手机app:android、ios、web、hybrid,它是一款跨平台工具,这代表同一个测试用例可以在不同的平台执行。

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

Appium特性:

  • 无需在设备安装其他的app
  • 无需重新编译或者改变app的代码
  • Appium社区非常活跃
  • Appium附带一个可以扫描和分析应用程序Ui组件的工具-Appium Ui inspector.

Calabash

calaba.sh/

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

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

Espresso

saucelabs.com/blog/the-to…

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

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

UI Automator

developer.android.com/training/te…

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