扼要:
1、學會搭建monkeyrunner開發環境;
2、學會使用monkeyrunner+Python/ target=_blank class=infotextkey>Python進行編寫腳本;
monkeyrunner是Android SDK自帶的一個黑盒自動化測試工具。其支持JAVA、python兩種語言。本課程是基于python講述。所以學習本章節的測試人員,需要具備一定的python基礎。
monkeyrunner運行在PC上,需要通過服務器/客戶端的的模式向設備或者模擬器上的android應用發送指令來執行測試。
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點均需要在操作系統中配置環境變量。
基于python的monkeyrunner腳本示例
下面以斗地主為例,模擬用戶啟動斗地主App-->單機模式-->開始游戲-->叫地主-->托管游戲-->繼續游戲(可以配置循環次數)。
monkeyrunner+python示例_1
monkeyrunner+python示例_2
monkeyrunner+python示例_3
monkeyrunner+python代碼部分解析
1、必須導入monkeyrunner相關的庫:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
2、獲取包名和AppActivity:
使用aapt dump badging ***.apk 命令,進行獲取APP包名、activity名;
3、使用adb devices命令,查看夜神虛擬機的驅動名稱;
4、在Android SDK的tools文件夾下運行uiautomatorviewer.bat,可以進行APP的元素定位;
5、因腳本運行較快,有時候頁面還沒有打開,卻已運行,就會拋出異常,所以添加了時間間隔:MonkeyRunner.sleep(秒數);
6、本次將運行步驟記錄到日志中:
log.write("啟動斗地主APP……n")等,運行后,日志如下圖所示:
log格式
7、使用了takeSnapshot()進行截圖;
8、本案例主要是使用坐標進行元素定位,其次可以使用控件ID進行定位;但APP的控件ID定位往往被忽略,所以坐標元素使用較多。缺點僅僅對一個手機型號或者模擬器起效。
monkeyrunner常用的系統按鍵
菜單鍵:KEYCOD_MENU
HOME鍵:KEYCOD_HOME
返回鍵:KEYCODE_BACK
搜索鍵:KEYCODE_SEARCH
呼叫鍵:KEYCODE_CALL
結束鍵:KEYCODE_ENDCALL
上調音量鍵:KEYCODE_VOLUME_UP
下調音量鍵:KEYCODE_VOLUME_DOWN
電源鍵:KEYCODE_POWER
照相鍵:KEYCODE_CAMERA