1. 程式人生 > 其它 >基於Monkey的穩定性測試

基於Monkey的穩定性測試

1、Monkey介紹

Monkey命令可以隨機地向目標程式傳送各種模擬鍵盤事件流,並且可以自定義傳送的次數,檢測被測應用程式的穩定性和可靠性。
Monkey程式由Android 系統自帶,使用java語言編寫。
Monkey的事件非常廣泛,除了對於被測APP的點選、滑動、鍵盤輸入等操作外,它還大量模擬各種手機系統操作,如調整音量、開啟通知欄、改變網路狀態、鎖屏等操作

主要目的 測試app 是否會是否會Crash

2、引數

-p: 指定一個或多個包名APP包名

-v: 操作日誌記錄,命令列的每一個-v將增加反饋資訊的級別。

    • -v:Level 0(預設值)除 啟動提示、測試完成和最終結果之外,提供較少資訊。
    • -v -v :Level 1提供較為詳細的測試資訊,如逐個傳送到Activity的 事件。
    • -v -v -v :Level 2提供更加詳細的設定資訊,如測試中被選中的或未被選中的Activity

COUNT:傳送事件的數目

--throttle ms : 每個事件之間設定一個固定的延遲,通過這個選項可以減緩Monkey的執行速度

        --pct-touch [PERCENT]: 設定點選事件的百分比。一般情況下,點選事件的比例要最高

--pct-montion [PERCENT]: 設定“滑動事件”的百分比

3、示例

1、啟動指定APP,並向其傳送100個偽隨機事件,操作的日誌位置 d:\android\monkey\log.txt

adb shell monkey –p com.youdao.calculator –v 100 > d:\android\monkey\log.txt

2、啟動指定APP,並向其傳送100個事件,其中點選事件佔70%,滑動事件佔30%

adb shell monkey –p com.youdao.calculator –vvv 100 –pct-touch 70 --pct-montion30 --throttle 1000 > d:\android\monkey\log1.txt

4、日誌分析

測試結果:

(1)ANR問題(程式無響應):在日誌中搜索“ANR"(application no response)

(2)閃退問題:在日誌中搜索"crash"

(3)異常:搜尋"exception"

(4)強制退出:搜尋"force closed"