android monkey 測試方法實踐

maweiliang發表於2017-05-17

上一次已經為大家介紹monkey和它的五種型別的命令(monkey命令詳解),下面我們來看看這些命令在實際工作的使用方法。

  • 一:monkey的啟動與停止

monkey的啟動很簡單,可以通過兩種方式來啟動monkey命令:
1.PC端啟動:

adb shell monkey -p packagename -vvv 1000複製程式碼

2.shell環境中啟動:

adb shell
monkey -p packagename -vvv 1000複製程式碼

那麼這兩種不同的啟動方式有啥區別呢?他們不同就在於在PC端啟動的monkey執行的log日誌可以儲存在pc端,shell環境中啟動的monkey,日誌就只能儲存在手機中,譬如:

adb shell monkey -p packagename -vvv 1000 >D:\log.txt複製程式碼

此時monkey的執行日誌儲存在了D盤下的log.txt檔案中

adb shell monkey -p packagename -vvv 1000 >/sdcard/log.txt複製程式碼

這是候monkey的執行日誌儲存在手機SD的log.txt檔案中

Monkey一旦執行起來,就無法停止,直到事件完成或者異常終止執行,自己在剛接出的時候,如果中途想停止就是扣電池或者重啟手機(這個相當麻煩),後來發現monkey啟動後混啟動一個“com.android.commands.monkey”為包名的程式,發現它之後就可以優雅的關閉monkey了,我們可以殺掉monkey程式來關機monkey。
1.通過 adb shell ps | grep monkey 獲取monkey的PID
2.使用adb shell kill pid 來停止monkey服務

  • 二:monkey的配置命令
adb shell monkey -p com.mvp  --pct-touch 80 --pct-motion 15 --pct-nav 5 -s 900 –ignore-crashes –ignore-timeouts --throttle 800 -v 10000複製程式碼

上面的命令列只是一個例子,自己可以根絕被測應用的特點,配置適合的命令引數,
1.-p:指定被測應用的包名,指定被測應用的包名後,monkey執行並啟動該應用的main Activity。
2.--pct-touch:指定monkey生成觸控事件的百分比
3.--pct-motion:設定monkey生成使用者手勢放的百分比
對於常見的大多數應用來說,這兩種操作事件是最常見的,所以我們一般會將它們的比率設定相對高一點
4.-s:指定monkey的隨機種子數,monkey相同的隨機種子生成的事件是相同的,這樣可以幫助我們發現和定位問題
5:一般情況下monkey在執行發生奔潰或者應用無響應(ARN)的時候會終止執行,我們為了能夠讓monkey在奔潰和ARN的時候繼續執行,指定–ignore-crashes和–ignore-timeouts引數,monkey可以繼續執行
6.--throttle:指定monkey每個動作的時間間隔,這裡的時間單位是毫秒,這個時間500左右
7.-v:使用它來控制monkey log的級別

  • 三:monkey白名單和黑明單的使用

monkey還有對隱藏的命令,在之前的命令分類中我們見過,–pck-blacklist-file<黑名單檔案>,–pck-whitelist-file<白名單檔案>,黑名單和白名單在同一時間內只能使用一個,不能同時使用,來看看怎麼使用這兩個命令:
第一步建立黑白名單檔案,黑白名單檔案為文字格式,裡面儲存的是要列入黑白名單的包名,用回車換行區分,一行一個包名,比如建立黑名單black.txt:

android monkey 測試方法實踐

第二步將剛建好的檔案push到手機上,如:

adb push d:\black.txt /data/local/tmp複製程式碼

執行monkey命令,比如下面的語句:

adb shell monkey --pkg-blacklist-file /data/local/tmp/black.txt --throttle 500  -v v v 10000複製程式碼

此時monkey執行的時候不去測試黑名單中的包了,

相關文章