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
相關文章
相關標籤/搜索