使用monkey進行Android APP壓力穩定測試入門

使用monkey進行Android APP壓力穩定測試入門

1. monkey介紹

Monkey:Android SDK自帶的一個命令行工具,使用adb來運行它,向系統發送僞隨機的用戶事件流,如按鍵、觸屏、輸入等;實現對正在開發的應用程序進行壓力測試,伴隨着日誌輸出。模擬用戶觸摸屏幕、滑動trackball、按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常;

2. 什麼時候使用monkey?

一般在產品穩定,無特別多bug時,可以用來測試應用的穩定性、健壯性(是否會發生閃退、崩潰),手機出廠前的整機測試。

3. monkey命令格式

adb shell monkey -help
----monkey幫助手冊
mongkey幫助手冊

  1. - v 用於指定反饋信息級別(信息級別就是日誌的詳細程度),總共分爲三個級別
    - v ;(優先級最低)
    -v-v;
    -v-v-v;
    v的個數越多日誌級別越高,日誌內容越詳細在這裏插入圖片描述
    如:使用命令將日誌輸出到G盤下的Nox–>monkey–>monkey2.txt文件
    adb shell monkey -v 300 >G:\Nox\monkey\monkey2.txt
    在這裏插入圖片描述
    monkey2.txt內容(部分)
    在這裏插入圖片描述

  2. -p 後面加對應的包名,如果是徵集測試,則不需要加包名。此外也可以測試多個應用程序,在後面加上多個-p即可,如
    adb shell monkey -v -v -v -p (com.………包名1) -p(包名2) 500
    獲得當前正在運行的應用程序的包名
    adb shell dumpsys activity | find "mFocusedActivity"
    獲得包名後就可以對我們想要測試的應用程序進行指定測試,而前面的是整機測試,對模擬器上的應用程序隨意測試
    再用命令對指定的應用程序進行測試
    adb shell monkey -v -v -v -p (com.………包名) 500
    在這裏插入圖片描述

  3. -s 用於指定僞隨機生成器的seed值,若seed相同,則兩次monkey測試所產生的時間序列也相同,用於問題復現。(也就是說,重複執行剛纔的隨機操作)一般用在問題復現處
    在這裏插入圖片描述
    命令行包含-s時對app進行測試,會對APP進行音量加減的操作,如下圖
    在這裏插入圖片描述

  4. - -throttle (毫秒1000=1s)後面接時間,單位爲ms,表示事件之間的固定延遲(即執行每一個指令間隔的時間),如果不接該項,monkey將不會延遲
    adb shell monkey --throttle 1000
    (注意是兩個橫槓-)

  5. - -ignore-crashes 設置此項後,當應用程序崩潰或發生失控異常時,monkey將繼續運行直到計數完成。如果不設置此項,monkey遇到上述崩潰或異常將停止運行。
    adb shell monkey --ignore-crashes 500
    (注意是兩個橫槓-)

  6. - -ignore-timeouts 設置此項後,當應用程序發生任何超時錯誤(如ANR,即Application Not Responding)時,monkey將繼續運行直到計數完成。若不設置此項,monkey
    adb shell monkey --ignore-timeouts <event-count/500>
    (注意是兩個橫槓-)

更多關於monkey的命令可以看一下這篇博客或是自行在網上學習
https://www.cnblogs.com/chengchengla1990/p/5641086.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章