扼要:
1、學(xué)會搭建monkeyrunner開發(fā)環(huán)境;
2、學(xué)會使用monkeyrunner+Python/ target=_blank class=infotextkey>Python進(jìn)行編寫腳本;
monkeyrunner是Android SDK自帶的一個黑盒自動化測試工具。其支持JAVA、python兩種語言。本課程是基于python講述。所以學(xué)習(xí)本章節(jié)的測試人員,需要具備一定的python基礎(chǔ)。
monkeyrunner運行在PC上,需要通過服務(wù)器/客戶端的的模式向設(shè)備或者模擬器上的android應(yīng)用發(fā)送指令來執(zhí)行測試。
monkeyrunner安裝
1、安裝python,下載地址:https://www.python.org/downloads/
2、安裝jdk,下載地址:https://www.oracle.com/java/technologies/javase-downloads.html
3、安裝Android sdk,下載地址:https://www.androiddevtools.cn/
4、安裝夜神模擬器;
備注:以上1-3點均需要在操作系統(tǒng)中配置環(huán)境變量。
基于python的monkeyrunner腳本示例
下面以斗地主為例,模擬用戶啟動斗地主App-->單機模式-->開始游戲-->叫地主-->托管游戲-->繼續(xù)游戲(可以配置循環(huán)次數(shù))。

monkeyrunner+python示例_1

monkeyrunner+python示例_2

monkeyrunner+python示例_3
monkeyrunner+python代碼部分解析
1、必須導(dǎo)入monkeyrunner相關(guān)的庫:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
2、獲取包名和AppActivity:
使用aapt dump badging ***.apk 命令,進(jìn)行獲取APP包名、activity名;
3、使用adb devices命令,查看夜神虛擬機的驅(qū)動名稱;
4、在Android SDK的tools文件夾下運行uiautomatorviewer.bat,可以進(jìn)行APP的元素定位;
5、因腳本運行較快,有時候頁面還沒有打開,卻已運行,就會拋出異常,所以添加了時間間隔:MonkeyRunner.sleep(秒數(shù));
6、本次將運行步驟記錄到日志中:
log.write("啟動斗地主APP……n")等,運行后,日志如下圖所示:

log格式
7、使用了takeSnapshot()進(jìn)行截圖;
8、本案例主要是使用坐標(biāo)進(jìn)行元素定位,其次可以使用控件ID進(jìn)行定位;但APP的控件ID定位往往被忽略,所以坐標(biāo)元素使用較多。缺點僅僅對一個手機型號或者模擬器起效。
monkeyrunner常用的系統(tǒng)按鍵
菜單鍵:KEYCOD_MENU
HOME鍵:KEYCOD_HOME
返回鍵:KEYCODE_BACK
搜索鍵:KEYCODE_SEARCH
呼叫鍵:KEYCODE_CALL
結(jié)束鍵:KEYCODE_ENDCALL
上調(diào)音量鍵:KEYCODE_VOLUME_UP
下調(diào)音量鍵:KEYCODE_VOLUME_DOWN
電源鍵:KEYCODE_POWER
照相鍵:KEYCODE_CAMERA