對android世界小白白的人兒,弄個monkeyrunner環境吭哧哧的費了大半天的勁,沒辦法,因為實在是對這方面一竅不通,名詞都是一個個百度才略懂一二,既然這么辛苦費勁的才能弄好,怎么也得記錄下來,免得下次又不會。
monkeyrunner是android sdk自帶的測試工具,搭建monkeyrunner環境其實就是需要安裝一個android sdk,當然也得有java環境jdk和python環境,此處只記錄下我今天安裝sdk的血淚史
1、安裝sdk
先吐槽下走的彎路,去網上搜索monkeyrunner環境搭建,給出得一堆文檔里都提到了android官網,http://developer.android.com/sdk/index.html#download,好吧,因為我實在是不善於翻牆,用盡各種辦法都無法成功下載,后在360軟件管家中搜索android sdk,下載了一個 sdk tools for android studio,沒文化真可怕,安裝好后進入tools目錄輸入monkeyrunner,提示Please use SDK manager and check if Android SDK platform-tools are installed,網上搜索答案,說是沒有添加環境變量,嘗試添加環境變量才發現安裝目錄下根本木有platform-tools,怎么破,怎么破,論壇、q群,各種咨詢,終於才明白,sdk包弄錯了,雖然沒明白為啥錯了,但終究是走上正道了
去網上百度搜索下載google android sdk ,下載后解壓縮,里面有三個文件夾,因為jdk和eclipse我都有,所以直接將sdk復制到我指定的目錄下

2、打開cmd,進入sdk\tools目錄輸入monkeyrunner

3、配置環境變量
現在在tools目錄下輸入monkeyrunner沒問題,但是離開這個目錄就會提示找不到這個命令,所以可以添加環境變量解決這個問題
環境變量-系統變量,添加一個新的變量名android,變量值D:\Program Files\Android\sdk\tools;D:\Program Files\Android\sdk\platform-tools;

打開系統變量中的path變量,將上面兩個路徑追加到后面保存

4、打開cmd,在當前目錄輸入monkeyrunner

5、簡單示例
Monkeyrunner API主要包括三個模塊
1)、MonkeyRunner:這個類提供了用於連接monkeyrunner和設備或模擬器的方法,它還提 供了用於創建用戶界面顯示提供了方法。
2)、MonkeyDevice:代表一個設備或模擬器。這個類為安裝和卸載包、開啟Activity、發送按鍵和觸摸事件、運行測試包等提供了方法。
3)、MonkeyImage:這個類提供了捕捉屏幕的方法。這個類為截圖、將位圖轉換成各種格式 、對比兩個MonkeyImage對象、將image保存到文件等提供了方法。
運行monkeyrunner 腳本有兩種方式,一種是在在CMD命令窗口直接運行monkeyrunner,另一種使用Python編寫測試代碼文件,在CMD中執行monkeyrunner xx.py運行
具體示例步驟:
1、cmd中啟動已創建好的模擬器
emulator -avd test
2、編寫python腳本,test.py
# 引入本程序所用到的模塊 from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage # 連接手機設備 device = MonkeyRunner.waitForConnection() # 截圖 result = device.takeSnapshot() # 將截圖保存到文件 result.writeToFile('E:\me\monkey\Test1_001.png','png') # 安裝新的APP device.installPackage('E:\me\MonTest.apk') print ('Install Success!') result = device.takeSnapshot() result.writeToFile('E:\me\Test1_003.png','png') if device.removePackage('com.jh.APP304394.news'): print ('Uninstall Success!') else: print 'Uninstall fail' # 暫停10秒 MonkeyRunner.sleep(10) result = device.takeSnapshot() result.writeToFile('E:\me\monkey\Test1_002.png','png')
其中在使用removePackage(包名)時, 可通過aapt dump badging E:\me\monkey獲得包名地址
3、cmd中執行測試腳本
monkeyrunner test.py,即可執行腳本中的相關操作
