1.使用Monkeyrunner腳本命令時,需要導入模塊才能使用模塊的腳本命令,Monkeyrunner的常用模塊有
- MonkeyRunner,MonkeyDevice,MonkeyImage,MonkeyRecorder
- MonkeyRunner:等待連接設備,與模擬器鏈接,返回monkeydevice對象,代表鏈接的設備
- MonkeyDevice:用來控制一個Android設備或模擬器。 方法發送UI事件, 檢索信息,安裝和刪除應用程序,並運行應用程序
- MonkeyImage:monkeyrunner類來保存圖像設備或模擬器的屏幕。 圖像從屏幕緩沖區復制在一個屏幕截圖。這允許你對象的方法 將圖像轉換為各種存儲格式,寫圖像到一個文件,復制的部分圖像
- MonkeyRecorder:允許用戶自由錄制需要的腳本,錄制和回放,或者獲取坐標
導入這些模塊的語句為:
from com.android.monkeyrunner import 模塊名
也可以為每個模塊設置別名,設置別名后,后續使用的腳本使用到模塊名都是使用別名:from com.android.monkeyrunner import 模塊名 as 別名
以上模塊導入的語句為:
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
from com.android.monkeyrunner import MonkeyImage as mi
from com.android.monkeyrunner.recorder import MonkeyRecorder as mre
如果全部導入的話,也可以直接使用一條語句:from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice ,MonkeyImage,MonkeyRecorder
2.基礎命令
(1)模塊導入之后,開始連接模擬器的安卓設備或者真機設備進行測試,
連接設備:device=MonkeyRunner.waitForConnection(超時時間,設備名)
(2)設備連接成功后,安裝需要測試的apk,參數為apk的路徑
device.installPackage('apk路徑')
如果需要刪除卸載某些apk,則可以使用命令:device.removePackage('apk路徑')
(3)設備連接后,可以用命令啟動任意的Activity:device.startActivity(component="包名/Activity名")
例如,已知啟動頁的Activity名,則可以用命令打開軟件的啟動頁。
(4)在使用命令中,有時要緩沖下等待某個操作加載完,可以使用命令:MonkeyRunner.sleep(秒數,浮點數),例如MonkeyRunner.sleep(3)等待3秒
(5)測試過程中,如果需要進行截圖並且將截圖保存起來:
result=device.takeSnapshot() //截圖
(6)在文本框中輸入內容可以先定位寫入的地方,然后寫入內容
device.touch(橫坐標,縱坐標) //定位文本框位置
device.type(‘字符串’)//寫入內容
(7)滑動屏幕:MonkeyRunner.drag(開始坐標,結束坐標,方向,滑動步數)
例如,向左滑動一步,0.1為時間:MonkeyRunner.drag((200,300),(100),0.1,1)
(8)按鍵:device.press()例如按手機的Home鍵,device.press("KEYCODE_HOME")
點擊:device.touch()
其參數的值有:DOWN,UP,DOWN_AND_UP
例如已知某個按鈕的橫縱坐標,便可以進行點擊操作:device.touch(100,200,"DOWN_AND_UP")
(9)如果屏幕黑屏,可以喚醒屏幕:device.wake()
3.錄制回放腳本
錄制和回放需要兩個腳本文件monkey_recorder.py和monkey_playback.py,所以需要導入我們第一點說的MonkeyRecorder的模塊,導入后
- 錄制
開始錄制:recorder.start(device)
執行腳本:monkeyrunner monkey_recorder.py
打開的錄制界面的工具欄:
功能如下:
wait:等待時間設置
press a button:點擊按鈕
Type Something:文本框輸入
Fling:滑動
Export Actions:導出腳本
Refresh Display:刷新
- 回放
回放腳本的命令:monkeyrunner monkey_playback.py 錄制的腳本文件名.mr
錄制后將導出的腳本存放在monkeyrunner的文件夾即sdk/tools文件中,方便使用
