monkey的效能壓測
app穩定性測試
1、穩定性測試就是指軟體長時間的持續執行,系統版本是否穩定,是否能夠持續的為使用者提供服務
2、指標:異常的次數
異常的頻率
3、app的穩定性測試
1)首先monkey
2)monkey是向系統傳送隨機的使用者事件流(如按鍵輸入、觸控式螢幕輸入和手勢輸入等),實現對正在開發的應用程式進行穩定性測試,即更好的模擬使用者操作,確保app的穩定性
monkey的執行原理
1、monkey是Android自帶的,是monkey.jar檔案,路徑:/system/framework/monkey.jar;
2、monkey.jar程式是由一個名為‘monkey’的shell指令碼進行啟動執行的,shell指令碼是在Android檔案系統的:/system/bin/monkey;
3、monkey啟動方式:在cmd中輸入adb shell monkey count
monkey的一些基本命令
adb shell monkey:檢視monkey可輸入哪些引數,引數預設為空,即可輸入也可不輸入
adb shell monkey --throttle <millisec>:在事件直接插入固定延遲,通過這個引數可以控制monkey傳送事件的頻率,時間單位僅為ms
如:1、傳送10個事件,要求持續執行時間1分鐘:adb shell monkey --throttle 6000 10
adb shell monkey -p <allowed-package-name> count:指定某個app包進行monkey操作,可加多個app包
如:adb shell monkey -p com.wuba 100
獲取包名的命令:adb shell pm list package
adb shell monkey -v:日誌設定,level 0,除啟動提示、測試完成和最終結果之外。提供較少資訊
adb shell monkey -v-v:日誌設定,level 1,提供較為詳細的測試資訊,如逐個傳送到activity的事件
adb shell monkey -v-v-v:日誌設定,level 2,提供更加詳細的設定資訊,如測試中被選中的或未被選中的activity
日誌匯出到本地:adb shell monkey -p com.wuba -v-v-v 100 >d:\test.txt
monkey命令-seed值
當monkey執行時,出現異常、奔潰、無響應等問題時,可用seed值進行復現,因為相同的seed值再次執行monkey,將生成相同的事件序列
adb shell monkey -s <seed>:偽隨機數生成器的seed值
monkey命令-除錯選項
當monkey執行時,出現異常、奔潰、無響應等問題時,monkey會停止執行,所以為了保證執行的事件數執行完整,可以使用除錯選項的設定
adb shell monkey -ignore-crashes:忽略在應用程式出現crash時導致的monkey停止
adb shell monkey -ignore-timeout:忽略在應用程式出現ANR時導致的monkey停止
adb shell monkey -ignore-security-exceptions:忽略在應用程式出現許可錯誤時導致的monkey停止
--pct-touch:觸控事件
--pct-motion:動作事件(手勢)
--pct-appswitch:啟動activity事件
--pct-rotation:螢幕旋轉事件
--pct-trackball:軌跡事件
--pct-nav:基本導航事件
--pct-syskeys:主要導航事件