一、API簡介
LaunchActivity(pkg_name, cl_name):啟動應用的Activity。參數:包名和啟動的Activity。
Tap(x, y, tapDuration): 模擬一次手指單擊事件。參數:x,y為控件坐標,tapDuration為點擊的持續時間,此參數可省略。
DispatchPress(keyName): 按鍵。參數: keycode。 詳細的Android Keycode列表: http://blog.csdn.net/feizhixuan46789/article/details/16801429
RotateScreen(rotationDegree, persist): 旋轉屏幕。 參數:rotationDegree為旋轉角度, e.g. 1代表90度;persist表示旋轉之后是否固定,0表示旋轉后恢復,非0則表示固定不變。
DispatchFlip(true/false): 打開或者關閉軟鍵盤。
LongPress(): 長按2秒。
PressAndHold(x, y, pressDuration): 模擬長按事件。
DispatchString(input): 輸入字符串。
Drag(xStart, yStart, xEnd, yEnd, stepCount): 用於模擬一個拖拽操作。
PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount): 模擬縮放手勢。
UserWait(sleepTime): 休眠一段時間
DeviceWakeUp(): 喚醒屏幕。
PowerLog(power_log_type, test_case_status): 模擬電池電量信息。
WriteLog(): 將電池信息寫入sd卡。
RunCmd(cmd): 運行shell命令。
DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags): 向指定位置,發送單個手勢。
DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFilags): 發送按鍵消息。
LaunchInstrumentation(test_name,runner_name): 運行一個instrumentation測試用例。
DispatchTrackball: 模擬發送軌跡球事件。
ProfileWait: 等待5秒。
StartCaptureFramerate(): 獲取幀率。
EndCaptureFramerate(input): 結束獲取幀率。
二、編寫monkey腳本
1. 編寫腳本,將此腳本保存為monkey.txt,如下:
1 #頭文件信息 2 type=raw events 3 count=10 4 speed=1.0 5 start data >> 6 7 #具體的腳本內容 8 LaunchActivity(com.example.package,com.example.ui.SplashActivity) 9 Tap(972,1818) 10 UserWait(2000) 11 Tap(540,607) 12 DispatchFlip(false) 13 DispatchString(1234567) 14 Tap(636,859) 15 UserWait(2000) 16 Tap(388,895) 17 UserWait(1000) 18 DispatchString(123456) 19 DispatchFlip(false) 20 UserWait(2000) 21 Tap(540,1104)
2. 執行腳本
1 adb push monkey.txt /sdcard/ 2 adb shell monkey -f /sdcard/monkey.txt -v 1