-
APP性能測試
monkeyscript:是一組可以被Monkey識別的命令集合,可以完成重復固定的操作
monkey與monkeyrunner的區別:
monkey:在adb shell中,生成用戶或系統的偽隨機事件
monkeyrunner:通過API定義特定的命令和事件控制設備
monkeyrunner APIs?
monkeyrunner:用來連接設備或模擬器
monkeydevice:提供安裝、卸載應用。發送模擬事件
monkeyimage:完成圖像保存,及對比的操作
monkeyrunner的測試類型:多設備控制、功能測試、回歸測試
查看全部 -
MONEKY API2
查看全部 -
MonkeyRunner?API -alert
查看全部 -
MonkeyRunner實現自動化過程是一個純功能性的過程
如果想要多次,需要python腳本實現多線程或循環操作,可以實現重復的操作過程
查看全部 -
查看設備名稱 命令:adb devices? ?(device前面的數字就是設備名稱)
MonkeyRunner.sleep(2)等待時間
MonkeyRunner? 腳本名? ?運行腳本
查看全部 -
MonkeyRunner API-waitForConnection :? 等待設備連接,有多個device id,需要指明具體是哪個設備
命令: waitForConnection(float timeout,string deviceid)
Monkeydevice API-drag:? ?拖動
命令:drag(tuple start,tuple end,float duration,integer steps)
start? 起點位置? ? ?end? 終點位置? ? duration? 手勢持續的時間? ?steps? 插指點的步數,默認10
MonkeyDevice API-press :按鍵
命令:press(string keycode,dictionary type)
keycode 名:Down、UP、DOWN_AND_UP
MonkeyDevice API-startActivity :啟動應用
命令:startActivity(package+'/'activity)(包名+Activity名,是一個參數)
MonkeyDevice API -touch:? 點擊
命令:touch(integer x,integer y,integer type)
x坐標值,y坐標值,type:DOWN,UP,DOWN_AND_UP
MonkeyDevice API -type? :輸入
命令:type(string message)
MonkeyDevice API-takeSnapshot? :截屏
命令:MonkeyImage takeSnapshot()
MonkeyImageAPI-sameAS :圖像對比
命令:boolean sameAs(MonkeyImage other,float percent)
MonkeyImageAPI-writetoFile :保存圖像
void writeToFile(string path, string format)
查看全部 -
MonkeyRunner API-alert
警告框 :? 命令:void alert(string message, string title,string okTitle)
腳本:
#!/usr/bin/python
#-*- UTF-8 -*-
from com.android.monkeyrunner import MonkeyRunner? 導入包
MonkeyRunner.alert('hello mook frends','this is title','OK')
執行腳本語句: monkeyrunner 腳本名
monkeyrunner所在的路徑:cd../../Downloads/android-sdk/tools/
說明:執行過程中發現命令無法執行時,檢查SDK工具的路徑沒有添加到環境變量里面(即 /Downloads/android-sdk/tools 沒有添加到環境變量里面,加上即可解決)
查看全部 -
DispatchPointer
查看全部 -
2?DispatchTrackball
查看全部 -
1 DispatchTrackball
查看全部 -
MonkeyScript實踐
1、啟動APP。2、點擊輸入框。3、輸入查詢條件。4、點擊鍵盤回車。5、點擊搜索按鈕。6、等待結果出現。7、點擊Clear按鈕清屏
cd Downloads/android-sdk 下面的uiautomatorviewer 中獲取坐標點
adb push 腳本名/data/local/tmp/? 腳本復制到手機里面命令
monkey -f 腳本名? 次數? 在手機中執行腳本
查看全部 -
adb shell monkey -v - p xxx? --pct-touch <percent>
查看全部 -
Monkey Script
執行Monkey的腳本命令:adb shell monkey -f <scriptfile><event-count>
1、DispatchTrackball 軌跡球事件
軌跡球事件DispatchTrackball(long downtime(按鍵最初被按下的時間),long eventide(事件發生的時間),int action(具體操作了按下還是彈起),float x(x的坐標點),float y(y的坐標點),float pressure(當前壓力事件的大小0-1),float size(觸摸事件0-1),int metastate(按下meta鍵的標識),float xprecision(x坐標的精確值),float yprecision(y坐標的精確值),int device(事件來源0-X),int edgeflags(超出屏幕范圍))
action 0表示按下,1代表彈起,x和y代表的坐標點DispatchPointer? 點擊事件
DispatchPointer(long downtime,long eventide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecisoin,int device,int edgeflags)
action 0表示按下,1代表彈起,x和y代表的坐標點
DispatchString 輸入字符串事件
DispatchString(String text)
LaunchActivity? ?啟動應用
LaunchActivity(package(包名),Activity(啟動頁面的名稱))
UserWait 等待事件
UserWait(1000 等待事件的值毫秒,默認值1000)
DispatchPress 按下鍵值
DispatchPress(int keycode)#keycode 66回車鍵
查看全部 -
ANR結果析取,實踐步驟和CRASH析取結果實踐步驟一樣。
anr日志存放路徑:/data/anr/traces.txt
查看全部 -
CRASH 結果析取
實踐過程:
1、安裝可以引起CRASH的APP
2、執行壓力命令
3、析取CRASH的Exception信息
查看全部
舉報