日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

APP使用monkey进行稳定性测试过程

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 APP使用monkey进行稳定性测试过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

APP使用monkey進行穩定性測試記錄

Monkey測試是Android自動化測試的一種手段,Monkey測試本身非常簡單,就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,看設備多長時間會出異常。
當Monkey程序在模擬器或設備運行的時候,如果用戶出發了比如點擊,觸摸,手勢或一些系統級別的事件的時候,它就會產生隨機脈沖,所以可以用Monkey用隨機重復的方法去負荷測試你開發的軟件.
最簡單的方法就是用用下面的命令來使用Monkey,這個命令將會啟動你的軟件并且觸發500個事件.
$ adb shell monkey -p your.package.name -v 500
Monkey是一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流,實現對正在開發的應用程序進行壓力測試。Monkey包括許多選項,它們大致分為四大類:
? 基本配置選項,如設置嘗試的事件數量。
? 運行約束選項,如設置只對單獨的一個包進行測試。
? 事件類型和頻率。
? 調試選項。
在Monkey運行的時候,它生成事件,并把它們發給系統。同時,Monkey還對測試中的系統進行監測,對下列三種情況進行特殊處理:
? 如果限定了Monkey運行在一個或幾個特定的包上,那么它會監測試圖轉到其它包的操作,并對其進行阻止。
? 如果應用程序崩潰(crash)或接收到任何失控異常,Monkey將停止并報錯。
? 如果應用程序產生了應用程序不響應(application not responding,簡稱:ANR)的錯誤,Monkey將會停止并報錯。
按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和生成的事件。

接下來我們就來實際操作一下monkey得測試過程

一,安裝monkey環境
1,提前下載AndroidSDK環境https://www.androiddevtools.cn/和環境變量(需要先安裝java環境)
2,配置環境教程(可以參考這個地址)https://www.jianshu.com/p/c3e1fe6f61c4
3,安卓設備(我用得是真機)

二,連接設備
1,手機打開USB調試模式
2,cmd命令行輸入 adb devices

有序列號出現,這樣就是連接成功了

連接信息解釋:
手機設備:顯示設備的序列號,如圖的3TG0221903001884
device:已識別的設備,連接成功(這種情況即連接成功)
unauthorized:沒有授權,需要手機上授權后才能鏈接(手機授權一下解決)
unkown:未識別的設備(電腦按照驅動)
offine:離線設備(設備和電腦斷開連接了)

三,monkey得常用命令,
1,adb shell monkey:查看所有支持的monkey命令
2,打開cmd,輸入adb shell monkey查看所有支持得monkey命令

2,adb shell monkey 100:隨機發送100次操作(針對整個手機),count指事件,100即100次事件
3,monkey命令-事件間隔
1,adb shell monkey --throttle 1000 10:發送10個事件,1秒一個。1000指1000毫秒,10指10次,即一秒一次,一共10次,throttle用來控制事件發送頻率
2,adb shell monkey --throttle 6000 10:發送10個事件,持續時間一分鐘
4,monkey命令-指定包運行
1,-p此參數指定了一個包,monkey將至允許系統啟動這些包里的activity
5,查詢指定包名
1,adb shell dumpsys window w | findstr / | findstr name= 打開指定的APP在輸入這個指令可以找到指定包的報名(建議用這種,手機上安裝的app比較多的時候不好找)
2,adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
3,adb shell pm list packages:找到手機所有包名
4,-p -p 如果此參數指定了幾個包,monkey將只允許系統啟動這些包里的activity

四,查找包名進行monkey測試

1,手機先啟動要測試得程序,然后輸入命令行adb shell dumpsys window w | findstr / | findstr name=
找到包名


2,輸入命令行adb shell monkey -p 包名 --throttle 500 50 跑這個程序,50次,500毫秒一次(根據實際可隨意調整參數)
–throttle 500 設定延時

3,這樣就算簡單得跑起來了,當然你可以自己設定跑得次數,

五,查看結果,輸出日志
1,可以跑起來后,那我們要怎么才知道是不是穩定,有沒有出現問題,那這時候就需要查看日志了,
首先,我們要創建一個文件夾,這是我之前就創建好了得,D盤下創建一個叫monkey得文件夾
然后在輸入命令行adb shell monkey -p com.jialan.taishan.activity -v 1000 >D:\limengqian\monkey\monkey.log 添加包名,
-v顯示默認程度的信息,后面>添加文件夾得路徑,\monkey.log 是日志得名稱,

運行后,會在monkey得文件夾下自動添加\monkey.log日志
monkey.log日志只是記錄monkey事件得過程,最終問題我們還是需要結合logcat日志來分析問題

2,獲取logcat日志(logcat日志,記錄了用戶的在系統上的所有操作)
1)、先清空系統上原有的logcat日志:adb logcat -c
2)、獲取logcat日志:adb logcat -v time > D:\limengqian\monkey\logcat.log – 把logcat日志導入到D盤的monkey目錄下。

這些做完后,就可以再次輸入命令跑起來拉,

monkey跑后,會出現如下日志:
//activityResuming(com.android.settings)
//activityResuming(com.android.settings)
— 表示一個APP從前臺調入后臺,然后又從后臺恢復到前臺的過程,每做一次這樣的動作,就會產生一行這樣的信息。
這里表示"com.jialan.taishan.activity做了兩次這樣的動作。

六,分析monkey日志

Monkey 日志由以下幾部分組成:
(1) 測試命令信息:隨機種子 seed、運行次數、可運行應用列表、各事件百分比。

偽隨機事件流:記錄各種隨機操作及中間的延遲時間,主要是以下幾種操作:

測試結果信息:完成時間數,其他信息

logcat日志分析問題
logcat日志分析的基本步驟。
1,如果是ANR(Android Not Responding)問題(具體的表現是,系統出現類似這樣的提示:APP提示無法響應,是結束進行還是繼續等待), 則搜索“ANR” 或 'anr in’關鍵詞。 快速定位到關鍵事件信息 。
如:
12-02 21:31:22.350 E/ActivityManager( 389): ANR in com.android.settings (com.android.settings/.SubSettings)
12-02 21:31:22.350 E/ActivityManager( 389): PID: 676

2,如果是系統crash(具體的表現是,系統出現類似這樣的提示:很抱歉,“xxx”已停止運行),會有這些關鍵字:java.lang.NullPointerException。

舉個例子
本例子,我們在logcat日志中搜索anr in,發現以下日志:

這個日志的意思是,app出現 ANR的問題,進程號是676,ANR的跟蹤日志在/data/anr/traces.txt文件里。
接下來,我們通過ADB命令adb pull /data/anr/traces.txt D:\apk\獲取出traces.txt文件。我們把這個文件提供給開發定位即可。

總結

以上是生活随笔為你收集整理的APP使用monkey进行稳定性测试过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。