monkeyrunner自動化測試
monkeyrunner工具介紹:
monkeyrunner是google開發用於android系統自動化測試工具,在android-sdk安裝路徑下的tools目錄中,monkeyrunner用於應用程序的功能測試。可以結合Python語音進行應用程序的自動化測試腳本開發。
下面是monkeyrunner的啟動頁面
啟動後可以直接在啟動頁面上進行代碼編寫,不過,這裏編寫的代碼是交互式的,無法保存為可執行腳本文件,關閉後就會被刪除,因此,不建議這樣操作,除非是在進行代碼調試
下面對上面幾個語句進行講解:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
這個語句的意思應該很容易,就是從com.android.monkeyrunner 包中分別導入三個類:MonkeyRunner,MonkeyDevice,MonkeyIamge
這三個類的作用分別是:
MonkeyRunner:它是一個為MonkeyRunner程序提供工具方式類,提供用於連接MonkeyRunner到物理設備或模擬設備的方式。
MonkeyDevice:它是一個物理設備或模擬器的類,它提供了安裝和卸載程序包、啟動一個活動(Activity)以及發送鍵盤或操作事件到應用程序的方式。同時可以運用這個類來運行測試包
MonkeyImage:它是一個提供截圖用的類,並且可以將位圖轉換成各種格式
device=MonkeyRunner.waitForConnection()
這個語句是用來連接設備用的,可提供參數,如下:
device=MonkeyRunner.waitForConnection(3,"aw15644d7f3")
第一個參數為等待時間,第二個參數為設備序列號或模擬器序列號。如果當前只有一個連接設備,可不同提供參數
device.installPackage("d:/xxx.apk")
這個語句是用來安裝應用程序
device.startActivity(component="com.finance.aqb / com.pttz.swh.activity.WelcomeActivity")
這個語句是用來啟動應用程序,有一個參數,參數值需要提供:包名/活動名稱 ,切已“ / ”隔開
接下來介紹一下monkeyrunner常用的操作:
按home鍵
比較常用:
菜單鍵:KEYCODE_MENU
HOME鍵:KEYCODE_HOME
返回鍵:KEYCODE_BACK
搜索鍵:KEYCODE_SEARCH
呼叫鍵:KEYCODE_CALL
結束鍵:KEYCODE_ENDCALL
上調音量鍵:KEYCODE_VOLUME_UP
下調音量鍵:KEYCODE_VOLUME_DOWN
電源鍵:KEYCODE_POWER
照相鍵:KEYCODE_CAMERA
用法:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.press("KEYCODE_CAMERA",MonkeyDevice.DOWN_AND_UP)
設備重啟
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.reboot()
設備喚醒
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.wake()
輸入內容
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.type("hello monkeyrunner")
截屏
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
image=device.takeSnapshot()
image.writeToFile("d:\\image","png")
單擊操作
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.touch(100,123,"DOWN_AND_UP")
安裝apk包
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.installPackage("d:/xxx.apk")
卸載apk包
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.removePackage("com.xxx.xxx")
註意:卸載的時候,使用包名,而不是apk名
啟動Activity活動
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.startActivity(component="com.xxx.xxx / xxx.xxx.Activity ")
註:啟動時要傳一個參數,這個參數包含:包名/活動名
monkeyrunner自動化測試