MonkeyRunner淺談和入門

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

        步驟以下:

一、點擊設置

二、請找到開發人員選項

三、進入開發人員選項

四、找到指針位置開關

五、勾上該指針位置開關

預期結果:

手指觸摸屏幕時,出現觸摸痕跡,頂部顯示當前手指觸摸的座標

相關文章
相關標籤/搜索