1. 程式人生 > >monkeyrunner自動化測試

monkeyrunner自動化測試

返回鍵 home snapshot 截屏 技術 span log 安裝 功能

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自動化測試