標籤:
1.monkey
Monkey是Google自家東西,它可以產生一些偽隨機使用者事件流例如類比使用者的點擊等手勢,以及一些系統級的事件。它應該是目前流行移動端自動化架構或者工具的一個鼻祖。Monkey 更應該算是一個用戶端效能測試工具,測試用戶端應用的穩定性,健壯性還是相當不錯的。Monkey 也無需而外安裝,在android SDK的platform-tools目錄下。 在進行SDK環境配置時可以把該路徑配置到系統變數的path中,便可以直接通過命令進行使用。
2.Monkeyrunner
Monkeyrunner 同樣是android SDK 內建的測試載入器,看名字還跟Monkey很像,但是他們的作用完全是在不同領域。Monkey 更多用於用戶端效能,發送的隨機事件是基本沒法控制的,而Monkeyrunner則強大很多,可以用於做功能測試,迴歸測試並且可以自己定義測試擴充,靈活性較大。
Monkeyrunner 工具提供了一些API,可以通過該API來控制Android裝置或者模擬器。 可以通過編寫python指令碼去安裝Android 應用,運行應用,發送類比按鍵,手勢,等等,可以說你能在裝置中乾的事情,Monkeyrunner 都能幹。
網上已經很多人分享了Monkeyrunner錄製指令碼和回放的指令碼,可以下載下來,直接放到android SDK的platform-tools目錄下,通過命令 monkeyrunner 指令碼名 便可以啟動錄製器,錄製你需要的自動化測試指令碼或者回放。Monkeyrunner 足夠強大了,但是錄製的指令碼是以座標軸來作為定位方式,而安卓裝置類型眾多,各種解析度,所以移植性不好。3.Uiautomator Uiautomator 是通過以控制項的方式來定位,當然也是支援座標軸的方式來定位。Uiautomator是Android 4.1後加入的,所以僅支援Android 4.1 和以上的版本,但是不支援webview。4.Robotium Robotium支援所有的Android 版本,是居於原生的Instruments 二次封裝的一個架構。最新版本好像已經更新到了5.0.1, 穩定性等都不錯。而且官方還出了一個錄製外掛程式 Robotium Recorder(http://robotium.com/products/robotium-recorder)不過這個外掛程式是需要收費的。Robotium 只支援Java語言開發並只支援Android,並不支援跨進程。5.Appium Appium 官方宣稱支援同時支援Android, IOS, FirefoxOS。並且appium 你可以用任何你熟悉的開發語言來進行編寫測試案例。例如Java, Python, Ruby, PHP, JavsScript, Object-C, C#.....Appium 在Android 上如果是大於4.1 則用的是uiautomator, 以下版本則使用Selendroid(selenium for android). IOS上採用uiautomation庫做支援。Appium 的穩定性相對較差點,但是同樣採用的控制項的定位方式對不懂java而熟悉其它語言的來說還是相當不錯的選擇。
移動自動化測試架構對比