MonkeyRunner這貨的背景麼~很少說,谷歌親兒子,不過是最傻乎乎的一個,從名字來說,比Monkey年齡大點~由於它已經會跑了。。它的優勢麼,就是指哪點哪。不像有些框架很矯情,必定要源代碼,不能跨應用,不能怎樣怎樣~~否則我就罷工咯。。。可是缺點麼,很明顯,也是指哪點哪,因爲MonkeyRunner的腳本通常都是根據屏幕座標來作,換了分辨率,立刻很差使,而你指的點是屏幕座標點,不一樣的分辨率上相同座標的位置確定是不一樣的~因此,你懂的,一換分辨率立刻玩完~特別是寫起來特別費勁,由於要找座標。。python
接下來,不扯淡了,直接上乾貨。android
步驟1、環境框架
請自行搭建Android的adb環境,百度一搜漫山遍野的,我就很少說了spa
步驟2、建立文件指針
建個寫MonkeyRunner的文件,最好.py後綴,由於這貨的語法是python的遠房親戚,固然你非要不用.py結尾也不要緊圖片
步驟3、碼!開發
很少說,直接上示例代碼~字符串
#代碼註釋請用左側這個符號便可cmd
#首先,導入幾個包it
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device = MonkeyRunner.waitForConnection()
#下面這行是加載該路徑圖片賦值給picture,路徑請酌情修改,嗯python的賦值,基本什麼都能給的
picture = MonkeyRunner.loadImageFromFile('d:/screenshot/example/1.png')
a=1
b=‘.png'
#寫個循環,python是縮進式語法,因此請注意縮進~
for i in range (1,3):
o=str(a)+b
#輸入字符串
device.type(「456785454123569875")
#點擊屏幕900,1500的位置
device.touch(900,1500,」DOWN_AND_UP」)
#拖動,從200,1600,拖動到200,600,用時0.5秒,分2步進行
device.drag((200,1600),(200,600),0.5,2)
#歇二秒
MonkeyRunner.sleep(2)
#截圖並將圖片賦值給result
result = device.takeSnapshot()
#將result中的圖片寫入文件
result.writeToFile(‘d:/screenshot/example/'+o,'png')
#圖片對比一下咯,類似度0.6就給過!
if result.sameAs(picture,0.6):
#哦耶過了!
print "pass"
else:
#惋惜沒過
print "fail"
MonkeyRunner.sleep(1)
a=a+1
MonkeyRunner.sleep(3)
#點擊back鍵
device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(1)
嗯,樓上註釋已經解釋的很清楚了吧?
步驟4、執行
而後請保存文件,連上手機,打開命令框,什麼cmd,終端之類的各類叫法,而後輸入,adb空格monkeyrunner空格拖入剛纔保存的文件,回車觀看手機屏幕
附錄:
有人估計會問,座標怎麼來?用尺子麼?~NONONO
步驟以下:
一、點擊設置
二、請找到開發人員選項
三、進入開發人員選項
四、找到指針位置開關
五、勾上該指針位置開關
預期結果:
手指觸摸屏幕時,出現觸摸痕跡,頂部顯示當前手指觸摸的座標