1.monkey運行在設備或者模擬器上邊,可以脫離PC運行,其運行時如下圖所示。
而monkeyrunner運行在PC上,需要通過服務器/客戶端的的模式向設備或者模擬器上的android應用發送指令來執行測試,其運行時如下圖所示。
2.普遍的做法是將monkey作為壹個向待測應用發送隨機按鍵消息的測試工具,驗證待測應用在這些隨機性的輸入面前是否會有閃退或者崩潰。而monkeyrunner則接受壹個明確的測試腳本(使用python語言編寫的)。
3.雖然monkey也可以根據壹個指定的命令腳本發送按鍵消息,但其不支持條件判斷,也不支持讀取界面的信息來執行驗證操作。而monkeyrunner的測試腳本中有明確 的條件判斷等語句,可用來做功能測試。
?總結:
實際操作中,monkey由於缺少必要的條件判斷等命令,難以在功能測試上有所作為,只能作為生成壹些隨機事件的工具,測試應用程序的健壯程度,待測應用崩潰後可以根據monkey打印的日誌,再用monkey創建壹個重現步驟,供開發調試。monkey服務器模式更適合用於黑盒測試,不建議用於自動化測試。
而Monkeyrunner雖然有Python和Java類庫的強大支持,但其自身提供的API有限,還得需要插件擴展其功能。