常規(guī)Monkey測試執(zhí)行的是隨機(jī)的事件流票罐,但如果只是想讓Monkey測試某個(gè)特定場景這時(shí)候就需要用到自定義腳本了本缠,Monkey支持執(zhí)行用戶自定義腳本的測試删铃,用戶只需要按照Monkey腳本的規(guī)范編寫好腳本读处,存放到手機(jī)上峭跳,啟動Monkey通過-f 參數(shù)調(diào)用腳本即可排拷。
測試案例
啟動已登錄的全棉時(shí)代APP,進(jìn)入分類侧漓,找打相應(yīng)商品,加入購物車监氢,再進(jìn)詳情頁 提交訂單
獲取元素坐標(biāo)點(diǎn)位置
Monkey腳本只能通過坐標(biāo)的方式來定位點(diǎn)擊和移動事件的屏幕位置布蔗,這里就需要提前獲取坐標(biāo)信息。獲取坐標(biāo)信息的方法很多忙菠,最簡單的方法就是打開手機(jī)中的開發(fā)人員選項(xiàng)幼东,打開“顯示指針位置”。隨后卧波,在屏幕上的每次操作惹恃,在導(dǎo)航欄上都會顯示坐標(biāo)信息。
Monkey腳本API簡介
LaunchActivity(pkg_name, cl_name):啟動應(yīng)用的Activity傍睹。參數(shù):包名和啟動的Activity隔盛。
Tap(x, y, tapDuration): 模擬一次手指單擊事件。參數(shù):x,y為控件坐標(biāo)拾稳,tapDuration為點(diǎn)擊的持續(xù)時(shí)間吮炕,此參數(shù)可省略。
UserWait(sleepTime): 休眠一段時(shí)間
DispatchPress(keyName): 按鍵访得。參數(shù): keycode龙亲。 RotateScreen(rotationDegree,
persist): 旋轉(zhuǎn)屏幕。 參數(shù):rotationDegree為旋轉(zhuǎn)角度悍抑, e.g. 1代表90度鳄炉;persist表示旋轉(zhuǎn)之后是否固定,0表示旋轉(zhuǎn)后恢復(fù)搜骡,非0則表示固定不變拂盯。
DispatchString(input): 輸入字符串。
DispatchFlip(true/false): 打開或者關(guān)閉軟鍵盤记靡。
PressAndHold(x, y, pressDuration): 模擬長按事件谈竿。
Drag(xStart, yStart, xEnd, yEnd, stepCount): 用于模擬一個(gè)拖拽操作团驱。
PinchZoom(x1Start, y1Start, x1End, y1End,
x2Start, y2Start, x2End, y2End, stepCount): 模擬縮放手勢。
LongPress(): 長按2秒空凸。
DeviceWakeUp(): 喚醒屏幕嚎花。
PowerLog(power_log_type, test_case_status): 模擬電池電量信息。
WriteLog(): 將電池信息寫入sd卡劫恒。
RunCmd(cmd): 運(yùn)行shell命令贩幻。
DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags): 向指定位置,發(fā)送單個(gè)手勢两嘴。
DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFilags): 發(fā)送按鍵消息丛楚。
LaunchInstrumentation(test_name,runner_name): 運(yùn)行一個(gè)instrumentation測試用例。
DispatchTrackball: 模擬發(fā)送軌跡球事件憔辫。
ProfileWait: 等待5秒趣些。
StartCaptureFramerate(): 獲取幀率。
EndCaptureFramerate(input): 結(jié)束獲取幀率贰您。
1.Monkey腳本格式
Monkey腳本主要包含兩部分坏平,一部分是頭文件信息,一部分是具體的monkey命令锦亦。
type = raw events?
count = 1?
speed = 1.0?
//下面為monkey命令?
start data >>??
具體的monkey腳本內(nèi)容?
2. 執(zhí)行腳本
adb push purcotton.txt? /sdcard/?
adb shell monkey -f /sdcard/purcotton.txt -v1