android 5個自動化測試Ui框架

hu5080126發表於2019-04-09

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

相關文章