軟件測(cè)試--monkey(2)

Monkey腳本API簡(jiǎn)介

API:全稱Application Programming Interface章咧,即應(yīng)用程序編程接口.

API是一些預(yù)先定義函數(shù)浩蓉,目的是用來提供應(yīng)用程序與開發(fā)人員基于某軟件或者某硬件得以訪問一組例程的能力伏伯,并且無需訪問源碼或無需理解內(nèi)部工作機(jī)制細(xì)節(jié)氮块。

API就是操作系統(tǒng)給應(yīng)用程序的調(diào)用接口度气,應(yīng)用程序通過調(diào)用操作系統(tǒng)的 API而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令(動(dòng)作)墨榄。在 Windows 中,系統(tǒng)API是以函數(shù)調(diào)用的方式提供的此蜈。

SDA和API

可以認(rèn)為API是包含在SDK中的:SDK是一系列文件的組合即横,包括lib、dll裆赵、.h东囚、文檔、示例等战授;API是對(duì)程序而言的页藻,提供用戶編程時(shí)的接口,即一系列模塊化的類和函數(shù)植兰。

API與GUI

兩者都屬于直接用戶接口份帐,不同的是API接口屬于一種操作系統(tǒng)或程序接口,但是GUI接口屬于一種圖形操作系統(tǒng)楣导。

API分類

1.Windows API:Windows application programming interface(WIndows應(yīng)用程序接口)

Windows安裝完废境,系統(tǒng)就有了一套簡(jiǎn)單的SDK,包含了一套完整的基礎(chǔ)Windows API筒繁, 如果安裝VC或下載新的SDK后噩凹,就可以使用更加豐富的Windows API了。

凡是在 Windows工作環(huán)境底下執(zhí)行的應(yīng)用程序毡咏,都可以調(diào)用Windows API驮宴。

2.linux API:linux application programming interface(linux應(yīng)用程序接口)。在linux中血当,用戶編程接口API遵循了UNIX中最流行的應(yīng)用編程界面標(biāo)準(zhǔn)——POSIX標(biāo)準(zhǔn)幻赚。

Monkey腳本API常見命令

LaunchActivity(pkg_name, cl_name)? ? 啟動(dòng)應(yīng)用的Activity禀忆。參數(shù):包名和啟動(dòng)的Activity

Tap(x, y, tapDuration)? ? 模擬一次手指單擊事件

參數(shù):x,y為控件坐標(biāo),tapDuration為點(diǎn)擊的持續(xù)時(shí)間(可省略)落恼。

UserWait(sleepTime)? ? 休眠一段時(shí)間

RotateScreen(rotationDegree, persist) ? ? 旋轉(zhuǎn)屏幕

參數(shù):rotationDegree為旋轉(zhuǎn)角度箩退。

? ? ? ? ? ? 1代表90度

? ? ? ? ? ? persist表示旋轉(zhuǎn)之后是否固定

? ? ? ? ? ? 0表示旋轉(zhuǎn)后恢復(fù),非0則表示固定不變

DispatchString(input)? 輸入字符串

DispatchFlip(true/false)? ? 打開或者關(guān)閉軟鍵盤

PressAndHold(x, y, pressDuration)? ? 模擬長(zhǎng)按事件

Drag(xStart, yStart, xEnd, yEnd, stepCount)? ? 用于模擬一個(gè)拖拽操作

PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount)? ? 模擬縮放手勢(shì)

LongPress()? ? 長(zhǎng)按2秒

DeviceWakeUp()? ? 喚醒屏幕

PowerLog(power_log_type, test_case_status)? ? 模擬電池電量信息

WriteLog() ? ? 將電池信息寫入SD卡

RunCmd(cmd) ? ? 運(yùn)行shell命令

DispatchPointer(downtime,eventTime,action,x,y,pressure,size,metastate,xPrecision,yPrecision,device,edgeFlags)? ? ? ? 向指定位置佳谦,發(fā)送單個(gè)手勢(shì)

ProfileWait()? ? ? 等待5秒

StartCaptureFramerate() ? ? 獲取幀率

EndCaptureFramerate(input)? 結(jié)束獲取幀率


Monkey腳本格式

Monkey腳本主要包含兩部分戴涝,一部分是頭文件信息,一部分是具體的monkey命令钻蔑。

type = raw events

count = 1

speed = 1.0?

//下面為monkey命令?

start data >>?

具體的monkey腳本內(nèi)容?

注意:頭文件代碼書寫注意“=”兩邊預(yù)留空格啥刻,否則會(huì)出現(xiàn)如下報(bào)錯(cuò)。

java.lang.NumberFormatException: Invalid int: ""

編寫腳本(綜合實(shí)例)

執(zhí)行腳本

腳本編寫完成后咪笑,傳到手機(jī)設(shè)備上可帽,然后執(zhí)行。

adb push C:\Users\Administrator\Desktop\gallery3.txt data/local/tmp

adb shell

monkey -f data/local/tmp/gallery3.txt -v 1

執(zhí)行結(jié)果

日志管理

Monkey日志管理是Monkey測(cè)試中非常重要的一個(gè)環(huán)節(jié)窗怒,通過日志管理分析映跟,可以獲取當(dāng)前測(cè)試對(duì)象在測(cè)試過程中是否會(huì)發(fā)生異常,以及發(fā)生的概率扬虚,同時(shí)還可以獲取對(duì)應(yīng)的錯(cuò)誤信息努隙,幫助開發(fā)定位和解決問題。

monkey日志保存方法

1辜昵、保存在PC中

>adb shell monkey [option] <count> >d:\monkey.txt

eg:C:\Users\Administrator>adb shell monkey -v -v 100 >d:\monkeylog.txt

2荸镊、保存在手機(jī)上

>adb shell

>monkey -v 100 >data/local/tmp/monkeylog.txt

例:將日志導(dǎo)出并保存到D盤根目錄

C:\Users\Administrator>adb pull /data/local/tmp/monkeylog.txt D:\

3、標(biāo)準(zhǔn)流和錯(cuò)誤流分開保存

Monkey [option] <count> 1>/sdcard/monkey.txt 2>/sdcard/error.txt

例子:C:\Users\Administrator>adb shell monkey -v 100 1>d:\monkey.log? 2>d:\error.log

執(zhí)行以上命令堪置,Monkey的運(yùn)行日志和異常日志將被分開保存躬存。Monkey的運(yùn)行日志將被保存在monkey.txt文件中,而異常日志將被保存在D盤下的error.txt中舀锨。

4优构、常用三種monkey日志保存寫法

1、monkey -s 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 500 -v -v -v 99999999 > data/local/tmp/monkeylog.txt 2>data/local/tmp/monkeylog_error.txt (這里將日志保存在手機(jī)/data/local/tmp路徑里雁竞,標(biāo)準(zhǔn)輸出(正常)日志文件名稱為monkeylog.txt,錯(cuò)誤輸出(有問題的情況拧额,包括crash和ANR信息等)日志文件名稱為:monkey_error.txt)

2碑诉、monkey -s 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 500 -v -v -v 99999999 > data/local/tmp/monkeylog.txt 2>&1 (這里將標(biāo)準(zhǔn)跟錯(cuò)誤日志都保存在一個(gè)文件monkeylog.txt里,日志里搜索關(guān)鍵詞crash跟anr即可找到對(duì)應(yīng)錯(cuò)誤點(diǎn))

3侥锦、monkey -s 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 500 -v -v -v 99999999 &> data/local/tmp/monkeylog.txt(同方法2)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末进栽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恭垦,更是在濱河造成了極大的恐慌快毛,老刑警劉巖格嗅,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異唠帝,居然都是意外死亡屯掖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門襟衰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贴铜,“玉大人,你說我怎么就攤上這事瀑晒∩馨樱” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵苔悦,是天一觀的道長(zhǎng)轩褐。 經(jīng)常有香客問我,道長(zhǎng)玖详,這世上最難降的妖魔是什么把介? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮竹宋,結(jié)果婚禮上劳澄,老公的妹妹穿的比我還像新娘。我一直安慰自己蜈七,他們只是感情好秒拔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著飒硅,像睡著了一般砂缩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上三娩,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天庵芭,我揣著相機(jī)與錄音,去河邊找鬼雀监。 笑死双吆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的会前。 我是一名探鬼主播好乐,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瓦宜!你這毒婦竟也來了蔚万?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤临庇,失蹤者是張志新(化名)和其女友劉穎反璃,沒想到半個(gè)月后昵慌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淮蜈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年斋攀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片礁芦。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜻韭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柿扣,到底是詐尸還是另有隱情肖方,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布未状,位于F島的核電站俯画,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏司草。R本人自食惡果不足惜艰垂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望埋虹。 院中可真熱鬧猜憎,春花似錦、人聲如沸搔课。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)爬泥。三九已至柬讨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間袍啡,已是汗流浹背踩官。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留境输,地道東北人蔗牡。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像嗅剖,于是被迫代替她去往敵國(guó)和親蛋逾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容