Appium
Appium 可以測試幾乎所有的手機app:android、ios、web、hybrid,它是一款跨平臺工具,這代表同一個測試用例可以在不同的平臺執行。
編寫測試用例語言:java,Object-C,PHP,Ruby,Python等。
Appium特性:
- 無需在裝置安裝其他的app
- 無需重新編譯或者改變app的程式碼
- Appium社群非常活躍
- Appium附帶一個可以掃描和分析應用程式Ui元件的工具-Appium Ui inspector.
Calabash
Calabash 是Xamarin 開發和維護的一款開源移動測試工具,支援在Ios和android上的 native和hybrid app。
主要用於行為測試:手勢、截圖
Espresso
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
Robotium 是一款開源的Android Ui 框架。 它出現在2010年,現在它是一款非常可靠、穩定的工具。
許多文章和blog都表面Robotium是黑盒測試, 但我認為它應該屬於灰盒測試,因為,當你編寫測試用例時,你至少要知道應用程式的結構(例如:activity的名稱)
Robotium 特性
- 支援native和hybrid應用
- 可以執行在真機和模擬器上執行
- 支援所有的原生元件:activities、buttons、menus、toasts、dialogs等
- 支援手勢
- 可以控制裝置部分功能:改變裝置方向、截圖、解鎖等
- Robotium recoder 可以在eclipse和android Studio 外掛庫上下載。它是可以迅速的執行測試用例
- 編寫用例語言是java