monkey自定義腳本


自定義腳本穩定性測試

常規的monkey是執行隨機的事件流,如果想讓monkey測試某個特定的場景,這個時候需要自定義腳本。

用戶需要先筆記好腳本再存放在手機上,通過啟動monkey -f參數調用腳本來執行。

 

舉個栗子:

啟動淘寶,然后進入到首頁,進行登錄

 

需求分析:

1.思考步驟怎么進行

2.如何操作元素

3.將步驟轉化為測試腳本

 

如何獲取元素坐標

最簡單的方法就是打開手機開發者模式“顯示指針位置”,然后在屏幕上操作,導航欄上方就會顯示坐標信息

 

 

 

monkey腳本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腳本格式

主要包括兩部分,一部分是頭文件信息,一部分是具體的monkey命令

type = raw events   //腳本類型

count = 1                //執行腳本次數

speed =1.0             //執行腳本速率

//下面是monkey命令

start data >>

具體的monkey腳本內容

monkeytest.txt

 編寫腳本

type = raw events
count = 1
speed = 1.0
#以下是monkey命令
start data >>
#1.啟動app
LaunchActivity(com.taobao.taobao,com.taobao.tao.welcome.Welcome)
UserWait(5000)

#2.點擊我的坐標
Tap(965,1874)
UserWait(3000)

#3.輸入手機號
Tap(175.8,374.7)
DispatchString(13432165487)
UserWait(2000)


#4.輸入密碼
Tap(155.8,501.7)
DispatchString(123456)
UserWait(2000)

#5.點擊登錄按鈕
Tap(521.5,644.7)

執行腳本

腳本先傳到手機設備上,然后再執行

adb push 腳本路徑\monkeytest.txt  /sdcard/

adb shell monkey -f /sdcard/monkeytest.txt -v 1

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM