国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Monkey&Monkey Script
查看( 1023 )/ 評論( 0 )/ 評分( 0/ 0)

Android Monkey

一、Monkey

1.什么是monkey

Monkeyandroid自帶的命令行工具,可以運行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現(xiàn)對正在開發(fā)的應(yīng)用程序進(jìn)行壓力測試。Monkey測試是一種為了測試軟件的穩(wěn)定性、健壯性的快速有效的方法。

2.Monkey用法

基本語法:adb shellmonkey [option]

例如:adb shell monkey –v –v –v –p com.android.test 500 (發(fā)送500個隨機指令對com.android.test這個包進(jìn)行測試)

option有如下:

[-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]

[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]

[--ignore-crashes] [--ignore-timeouts]

[--ignore-security-exceptions]

[--monitor-native-crashes] [--ignore-native-crashes]

[--kill-process-after-error] [--hprof]

[--pct-touch PERCENT] [--pct-motion PERCENT]

[--pct-trackball PERCENT] [--pct-syskeys PERCENT]

[--pct-nav PERCENT] [--pct-majornav PERCENT]

[--pct-appswitch PERCENT] [--pct-flip PERCENT]

[--pct-anyevent PERCENT]

[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]

[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]

[--wait-dbg] [--dbg-no-events]

[--setup scriptfile][-f scriptfile[-f scriptfile] ...]

[--port port]

[-s SEED] [-v [-v] ...]

[--throttle MILLISEC] [--randomize-throttle]

[--profile-wait MILLISEC]

[--device-sleep-time MILLISEC]

[--randomize-script]

[--script-log]

[--bugreport]

其中紅色字體標(biāo)出來的有一種用法為–f scriptfile這里就可以使用寫的monkey腳本來實現(xiàn)

二、Monkey Script

1.什么是monkey script

Monkey script是按照一定的語法規(guī)則編寫有序的用戶事件流并適用于monkey命令工具的腳本。

2.Monkey script編寫及運行

development/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java源碼下有一段注釋規(guī)定了monkey script的基本規(guī)則,如下

/**

* monkey event queue. It takes a script. to produce events

*

* sample script. format:

* type= raw events

* count= 10

* speed= 1.0

* start data >>

* captureDispatchPointer(5109520,5109520,0,230.75429,458.1814,0.20784314,

* 0.06666667,0,0.0,0.0,65539,0)

* captureDispatchKey(5113146,5113146,0,20,0,0,0,0)

* captureDispatchFlip(true)

* ...

*/

紅色部分規(guī)定的就是monkey script的編寫方法

type指明類型

count說明執(zhí)行次數(shù),但是這里改成任何值都執(zhí)行一次,monkey命令可以指定執(zhí)行次數(shù),這里也就無所謂了

speed命令執(zhí)行速率。改動無影響,可以通過monkey命令行指定。

以上三個參數(shù)改動都沒什么影響,一般不做改動。

start data >>相當(dāng)于一個入口,說明腳本從下面開始執(zhí)行

例:

#Start Script

type = user

count = 49

speed = 1.0

start data >>

LaunchActivity(com.android.browser,com.android.browser.BrowserActivity)

UserWait(5000)

#open renren

captureDispatchPointer(5109520,5109520,0,1150,330,0,0,0,0,0,0,0);

captureDispatchPointer(5109521,5109521,1,1150,330,0,0,0,0,0,0,0);

UserWait(3000)

#close browser

captureDispatchPointer(5109520,5109520,0,205,31,0,0,0,0,0,0,0);

captureDispatchPointer(5109521,5109521,1,205,31,0,0,0,0,0,0,0);

UserWait(2000)

以上是在k91上瀏覽器操作的一個腳本。執(zhí)行步驟為

1.打開瀏覽器

2.打開人人網(wǎng)

3.關(guān)閉瀏覽器

具體的操作步驟為:

1.將上述腳本復(fù)制到browser.txt

2.browser.txt放到sd卡根目錄

3.adb shell monkey –v –v –v –f /sdcard/browser.txt –throttle 1500 100 > monkey.txt

腳本會按照browser.txt發(fā)送的指令序列每隔1.5s執(zhí)行一個指令,執(zhí)行100遍,并將log存在monkey.txt文件中。

在源碼development/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java中規(guī)定了如下api可以供用戶使用

privatestaticfinalString EVENT_KEYWORD_POINTER ="DispatchPointer";

DispatchPointer(long downTime,long eventTime, int action,

float x, float y, float pressure, float size, int metaState,

float xPrecision, float yPrecision, int device, int edgeFlags)

privatestaticfinalString EVENT_KEYWORD_TRACKBALL ="DispatchTrackball";

DispatchTrackball(long downTime,long eventTime, int action,

float x, float y, float pressure, float size, int metaState,

float xPrecision, float yPrecision, int device, int edgeFlags)

privatestaticfinalString EVENT_KEYWORD_KEY ="DispatchKey";

DispatchKey(long downTime, long eventTime, int action, int code,

int repeat, int metaState, int device, int scancode)

privatestaticfinalString EVENT_KEYWORD_FLIP ="DispatchFlip";

DispatchFlip(boolean keyboardOpen)

privatestaticfinalString EVENT_KEYWORD_KEYPRESS ="DispatchPress";

DispatchPress(int keyCode)

privatestaticfinalString EVENT_KEYWORD_ACTIVITY ="LaunchActivity";

LaunchActivity(String pkg_name, String cl_name)

privatestaticfinalString EVENT_KEYWORD_INSTRUMENTATION ="LaunchInstrumentation";

LaunchInstrumentation(String test_name, String runner_name)

privatestaticfinalString EVENT_KEYWORD_WAIT ="UserWait";

UserWait(long sleeptime)

privatestaticfinalString EVENT_KEYWORD_LONGPRESS ="LongPress";

LongPress(int keyCode)

privatestaticfinalString EVENT_KEYWORD_POWERLOG ="PowerLog";

PowerLog(String power_log_type)

PowerLog(String power_log_type, String test_case_status)

privatestaticfinalString EVENT_KEYWORD_WRITEPOWERLOG ="WriteLog";

WriteLog: write power log to sdcard

privatestaticfinalString EVENT_KEYWORD_RUNCMD ="RunCmd";

RunCmd(String cmd):執(zhí)行cmd命令

private

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
android 大圖片拖拽并縮放實現(xiàn)原理
Android 基于Zxing的二維碼掃描優(yōu)化
在Android上使用Tensorflow
C#調(diào)用C++動態(tài)鏈接庫中的函數(shù)指針與函數(shù)指針結(jié)構(gòu)
關(guān)于第5章的全部習(xí)題答案總結(jié)!?。?- 《JAVA開發(fā)實戰(zhàn)經(jīng)典》答疑專區(qū) - 魔樂MLDN java學(xué)習(xí)社區(qū)-魔樂科技 JAVA論壇|JAVA培訓(xùn)論壇|MLDN論壇|MLDN社區(qū)|MLDN視頻下載 -JAVA學(xué)習(xí)論壇
最完美的C#網(wǎng)絡(luò)測速(Ping)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服