MonkeyRunner 也是一款安卓sdk自有的測試工具 可以用來做功能測試
閱讀目錄
MonkeyRunner環境搭建
1. 安裝JDK的安裝與配置
2. 安裝Python編譯器 https://www.python.org/download
3. 設置環境變量
MonkeyRunner 概述
monkeyrunner 也是一款安卓sdk自有的測試工具,位於\sdk\tools下面
比monkey強大一些, 它主要可應用於功能測試,回歸測試,並且可以自定義測試擴展,靈活性高,測試人員可以完全控制
monkeyrunner 工具提供了一組API, 通過這些API函數可以在Android代碼之外 (當然也可以直接在源代碼直接使用) 控制android設備和模擬器
通過monkeyrunner, 也可以寫出一個Python腳本來安裝,運行,測試,發送模擬操作流結果截圖對比等等。
MonkeyRunner 錄制,回放功能
monkeyrunner 運行在PC上, 逐行的去解釋Python腳本代碼, 將命令發送到Android設備上或者模擬器上執行, monkeyrunner除了支持python腳本來執行測試,還可以通過錄制回放的方式來執行測試
MonkeyRunner 錄制回放
通過monkeyrunner 腳本錄制功能可以實現,錄制和回放功能,但該功能目前提供操作很簡單,只能運行比較簡單的操作,而且要考慮不同機器的執行效率以及操作之間的時間間隔,
錄制回放以實例recorder.mr來說明操作如下圖所示:
下載 recorder.py
下載 playback.py
運行 monkeyrunner.bat recorder.py
手工編寫monkeyrunner 測試腳本
雖然monkeyrunner腳本使用python語法編寫,但實際上是通過Jpython來解釋執行,Jpython是python的Java實現, 它將python 代碼解釋成Java 虛擬機上的字節碼並執行,這種做法允許在Python中繼承一個Java類型,可以調用任意的Java API
#導入我們需要用到的包和類並且起別名 import sys from com.android.monkeyrunner import MonkeyRunner as mr from com.android.monkeyrunner import MonkeyDevice as md from com.android.monkeyrunner import MonkeyImage as mi #connect device 連接設備 #第一個參數為等待連接設備時間 #第二個參數為具體連接的設備 device = mr.waitForConnection() if not device: print >> sys.stderr,"fail" sys.exit(1) #定義要啟動的Activity componentName='com.example.simulate/.ShellActivity' #啟動特定的Activity device.startActivity(component=componentName) mr.sleep(3.0) #do someting 進行我們的操作 #輸入 helloworld device.type('helloworld') #輸入回車 device.press('KEYCODE_ENTER') #return keyboard #device.press('KEYCODE_BACK') #------ #takeSnapshot截圖 mr.sleep(3.0) result = device.takeSnapshot() #save to file 保存到文件 result.writeToFile('./shot1.png','png');