APP穩定性測試-monkey執行

來源:互聯網
上載者:User

標籤:ack   超過   先後   順序   cmd   包括   adb shell   選項   seed   

Monkey命令列可用的全部選項

*樣本 :
adb shell monkey -p cn.lejiayuan.alpha --pct-touch 30 --pct-motion 15 --pct-trackball 1 --pct-nav 1 --pct-majornav 15 --pct-syskeys 10 --pct-appswitch 20 -v -v -v --throttle 200 -s 3333333 --kill-process-after-error 10000

常規
--help
列出簡單的用法。

-v
命令列的每一個-v將增加反饋資訊的層級。
Level 0(預設值)除啟動提示、測試完成和最終結果之外,提供較少資訊。
Level 1提供較為詳細的測試資訊,如逐個發送到Activity的事件。
Level 2提供更加詳細的設定資訊,如測試中被選中的或未被選中的Activity。

記錄層級 Level 0
*樣本 adb shell monkey -p com.htc.Weather –v 100
說明預設值,僅提供啟動提示、測試完成和最終結果等少量資訊

記錄層級 Level 1
*樣本 adb shell monkey -p com.htc.Weather –v -v 100
說明 提供較為詳細的日誌,包括每個發送到Activity的事件資訊

記錄層級 Level 2
*樣本 adbshell monkey -p com.htc.Weather –v -v –v 100
說明 最詳細的日誌,包括了測試中選中/未選中的Activity資訊

事件

-s

  • 樣本:
    Monkey測試1:adb shellmonkey -p com.htc.Weather –s 10 100
    Monkey 測試2:adb shellmonkey -p com.htc.Weather –s 10 100
    兩次測試的效果是相同的,因為類比的使用者操作序列(每次操作按照一定的先後順序所組成的一系列操作,即一個序列)是一樣的。操作序列雖 然是隨機產生的,但是只要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的;

--throttle

  • 樣本:adb shellmonkey -p com.htc.Weather –throttle 3000 100

--pct-touch

  • 樣本:adb shellmonkey -p com.htc.Weather --pct-touch 10 1000

--pct-motion

  • 樣本:adb shellmonkey -p com.htc.Weather --pct-motion 20 1000

--pct-trackball

  • 樣本:adb shellmonkey -p com.htc.Weather --pct-trackball 30 1000

--pct-nav

  • 樣本:adb shellmonkey -p com.htc.Weather --pct-nav 40 1000

--pct-majornav

  • 樣本:adb shellmonkey -p com.htc.Weather --pct-majornav 50 1000

--pct-syskeys

樣本:adb shellmonkey -p com.htc.Weather --pct-syskeys 60 1000
--pct-appswitch

樣本:adb shellmonkey -p com.htc.Weather --pct-appswitch 70 1000
--pct-anyevent

--pct -anyevent 1001000* 指定多個類型事件的百分比:
adb shell monkey -pcom.htc.Weather --pct-anyevent 50 --pct-appswitch 50 1000
注意:各事件類型的百分比總數不能超過100%;

約束限制
-p

指定一個包: adb shell monkey -p com.htc.Weather 100
說明:com.htc.Weather為包名,100是事件計數(即讓Monkey程式類比100次隨機使用者事件)。
指定多個包:adb shell monkey -p com.htc.Weather –pcom.htc.pdfreader -p com.htc.photo.widgets 100
不指定包:adb shell monkey 100
說明:Monkey隨機啟動APP並發送100個隨機事件。
要查看裝置中所有的包,在CMD視窗中執行以下命令:
adb shell
cd data/data
ls
-c

調試
--dbg-no-events
設定此選項,Monkey將執行初始啟動,進入到一個測試Activity,然後不會再進一步建置事件。為了得到最佳結果,把它與-v、一個或幾個包約 束、以及一個保持Monkey運行30秒或更長時間的非零值聯合起來,從而提供一個環境,可以監視應用程式所調用的包之間的轉換。

--hprof
設定此選項,將在Monkey事件序列之前和之後立即產生profiling報告。這將會在data/misc中產生大檔案(~5Mb),所以要小心使用它。

--ignore-crashes
通常,當應用程式崩潰或發生任何失控異常時,Monkey將停止運行。如果設定此選項,Monkey將繼續向系統發送事件,直到計數完成。

  • 樣本1:adb shellmonkey -p com.htc.Weather --ignore-crashes 1000
    測試過程中即使Weather程式崩潰,Monkey依然會繼續發送事件直到事件數目達到1000為止;
  • 樣本2:adb shell monkey -p com.htc.Weather 1000
    測試過程中,如果Weather程式崩潰,Monkey將會停止運行。

--ignore-timeouts
通常,當應用程式發生任何逾時錯誤(如“Application Not Responding”對話方塊)時,Monkey將停止運行。如果設定此選項,Monkey將繼續向系統發送事件,直到計數完成。

--ignore-security-exceptions
通常,當應用程式發生許可錯誤(如啟動一個需要某些許可的Activity)時,Monkey將停止運行。如果設定了此選項,Monkey將繼續向系統發送事件,直到計數完成。

--kill-process-after-error
通常,當Monkey由於一個錯誤而停止時,出錯的應用程式將繼續處於運行狀態。當設定了此選項時,將會通知系統停止發生錯誤的進程。注意,正常的(成功的)結束,並沒有停止啟動的進程,裝置只是在結束事件之後,簡單地保持在最後的狀態。

--monitor-native-crashes
監視並報告Android系統中本地代碼的崩潰事件。如果設定了--kill-process-after-error,系統將停止運行。

--wait-dbg
停止執行中的Monkey,直到有調試器和它相串連。

APP穩定性測試-monkey執行

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.