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