android Monkey 测试技巧
MonkeyTest 測試流程
?
1、常用的命令參數(shù)說明:
?-s
seed值,設(shè)置這個(gè)參數(shù)的主要作用是程序員可以重復(fù)執(zhí)行這個(gè)命令,seed值相同則monkey測試序列也大致一樣。
-p 指定要測試的包,參數(shù)跟的是apk的package id
--pct-touch ??????????
調(diào)整觸摸事件的百分比(觸摸事件是一個(gè)down-up事件,它發(fā)生在屏幕上的某單一位置)
--pct-motion??????????
調(diào)整動作事件的百分比(動作事件由屏幕上某處的一個(gè)down事件、一系列的偽隨機(jī)事件和一個(gè)up事件組成)
--pct-nav?????????????
調(diào)整“基本”導(dǎo)航事件的百分比(導(dǎo)航事件由來自方向輸入設(shè)備的up/down/left/right組成)
--pct-majornav???????
調(diào)整“主要”導(dǎo)航事件的百分比(中間按鍵、回退按鍵、菜單按鍵)
--pct-syskeys??????????
調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留,由系統(tǒng)使用,如Home、Back、Start Call、End Call及音量控制鍵)
--ignore-crashes????? ?
通常,當(dāng)應(yīng)用程序崩潰或發(fā)生任何失控異常時(shí),Monkey將停止運(yùn)行。如果設(shè)置此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成
--ignore-timeouts??????
通常,當(dāng)應(yīng)用程序發(fā)生任何超時(shí)錯(cuò)誤(如“Application Not Responding”對話框)時(shí),Monkey將停止運(yùn)行。如果設(shè)置此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成
--ignore-security-exceptions???
通常,當(dāng)應(yīng)用程序發(fā)生許可錯(cuò)誤(如啟動一個(gè)需要某些許可的Activity)時(shí),Monkey將停止運(yùn)行。如果設(shè)置了此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成
--monitor-native-crashes??????
監(jiān)視并報(bào)告Android系統(tǒng)中本地代碼的崩潰事件
--ignore-native-crashes???????
通常,當(dāng)應(yīng)用程序本地代碼發(fā)生崩潰時(shí),Monkey將停止運(yùn)行。如果設(shè)置了此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成
--throttle???
在事件之間插入固定延遲。通過這個(gè)選項(xiàng)可以減緩Monkey的執(zhí)行速度
-v???
命令行的每一個(gè)-v將增加反饋信息的級別,最高級別是3個(gè)-v?
Count???
Monkey執(zhí)行總次數(shù)
?
2、測試步驟
(1)??????手機(jī)上先安裝上apk
(2)??????手機(jī)連接上電腦
(3)??????啟動命令行
(4)??????輸入monkey命令
adb shell monkey -s 1000 -p packageid --pct-touch 20 --pct-motion 20 --pct-nav 20 --pct-majornav 20 --pct-syskeys 20 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes --throttle 300 ?-v -v -v 36000 > XXX.txt
注意:-s值每次要單設(shè)一個(gè)隨機(jī)值,每次的值是不同的
(5)?等待命令結(jié)束,可以不用人為干預(yù)
?
3、測試報(bào)告處理
根據(jù)第二步的命令最后把測試日志重定向到了文件XXX.txt,到你執(zhí)行monkey測試的目錄下把文件找出來打開查看,分別搜索exception,anr,crash三個(gè)關(guān)鍵詞,如果搜索結(jié)果有發(fā)現(xiàn)這些關(guān)鍵詞,則把該日志文件發(fā)送給相關(guān)的android程序員進(jìn)行處理。如果未搜索到這些關(guān)鍵字,則說明此次測試結(jié)果較理想,沒發(fā)現(xiàn)異常,以后可以再接著測試。
?
4、意外情況處理
(1)命令已開始執(zhí)行但發(fā)現(xiàn)命令設(shè)置有問題例如忘了設(shè)置?–s的參數(shù),要怎樣才能停止運(yùn)行呢?
答:monkey是手機(jī)內(nèi)部命令,一旦開始執(zhí)行無論手機(jī)是否還連著電腦,那么它都會堅(jiān)持到總次數(shù)結(jié)束才會停止,中途停止的方法是另開一個(gè)命令行窗口,執(zhí)行以下兩條命令:
???? adb shell ps|findstr monkey
?
???? adb shell kill -9 pid
例如上圖中的結(jié)果是:adb shell kill -9 29293
(2)如果不知道要測的應(yīng)用的package id,可以詢問程序員或使用以下方式自己查看:
?在命令行上使用?adb logcat?命令,然后手機(jī)上點(diǎn)擊此apk,通過logcat上打印的日志查找package id
轉(zhuǎn)載于:https://blog.51cto.com/iqiao/1740510
總結(jié)
以上是生活随笔為你收集整理的android Monkey 测试技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Try Redis : Redis 入门
- 下一篇: pagefile.sys and heb