目的:實現有目的的壓力測試
格式 adb shell monkey -f <monkey腳本> <執行次數>
常用事件:
軌跡球事件(模擬點擊):DispatchTrackball(long downtime,long eventide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags) ----action 0表示按下1表示擡起,xy爲橫縱座標點,座標可以通過手機自帶的指針獲取,或者monkeyrunner錄製時獲取
輸入字符串事件(用來輸入內容):DispatchString(String text)
啓動應用:LaunchActivity(package,Activity)
等待事件:UserWait(1000)
按下鍵(與鍵盤上按鍵的交互操作):DispatchPress(int keycode)#如打算按下鍵盤的回車鍵,可以輸入 int 66即可
例子:寫一個腳本實現計算功能,並執行該腳本100次
寫好一個腳本push到手機並切換進入到該腳本目錄位置後執行腳本
adb push script.py /data/local/tmp
adb shell
cd /data/local/tmp
monkey -f script.py
另腳本成功運行要注意app包中mainfest設置爲true目的是允許外部調起activity,以及腳本中LaunchActivity格式包含包名,以及包名加上activity名
script腳本如下:
#copy all content
type= raw events
count= 10
speed= 1.0
tart data >>
#Try it now
LaunchActivity(com.sky.jisuanji,com.sky.jisuanji.JisuanjizixieActivity)
UserWait(5000)
#press 1
DispatchPointer(10,10,0,200,500,1,1,-1,1,1,0,0)
DispatchPointer(10,10,1,200,500,1,1,-1,1,1,0,0)
UserWait(2000)
#press +
DispatchPointer(10,10,0,500,1150,1,1,-1,1,1,0,0)
DispatchPointer(10,10,1,500,1150,1,1,-1,1,1,0,0)
UserWait(2000)
#press 1
DispatchPointer(10,10,0,200,500,1,1,-1,1,1,0,0)
DispatchPointer(10,10,1,200,500,1,1,-1,1,1,0,0)
UserWait(2000)
#press =
DispatchPointer(10,10,0,900,1580,1,1,-1,1,1,0,0)
DispatchPointer(10,10,1,900,1580,1,1,-1,1,1,0,0)
UserWait(6000)