monkey性能穩定性測試使用教程


步驟:下載SDK -> 解壓進入SDK Manager下載系統 -> 配置環境變量 -> 創建虛擬設備或連接真機 -> 進入命令模式按場景輸入測試命令

環境搭建

1安裝JDK(https://jingyan.baidu.com/article/363872ecd62f5f6e4ba16fcb.html)

2下載Android sdk(http://tools.android-studio.org/index.php/sdk/),什么是Android sdk(https://baike.baidu.com/item/Android%20SDK/4378187?fr=aladdin)

exe格式和zip格式都可以

 

安裝installer_r24.4.1-windows.exe文件,里面有兩個應用程序: “SDK Manager.exe”(負責下載或更新SDK包) 和 “AVD Manager.exe”(負責創建管理虛擬機)。

4、我們先運行“SDK Manager.exe”進行SDK下載,我選擇為7.0版,點擊install packages開始安裝(此處下載是為搭建虛擬機和環境變量做准備)

3個工具包和默認的也必須選擇下載。

 

下載說明:

 安裝:

 

 

進入漫長等待

 

 

5、設置環境變量 
第一種方法: 
1) 新建一個ANDROID_HOME的環境變量加入sdkzip解壓路徑)安裝路徑

 

 

2) 在path加入

%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

或者

第二種方法: 
直接在解壓的SDK文件,找到“platform-tools”“tools”並把這兩個路徑復制粘貼到Path環境變量里

注意:前面如果沒有執行在SDK Manager.exe中下載系統這一步,你的SDK解壓包中可能沒有platform-toolstools文件

 

 

6、測試環境是否成功,運行DOS輸入:

 

adb

 

結果示意圖:

或者輸入adb shell 進入shell

C:\Users\> adb shell

generic_x86_64:/ $

出現以上結果就證明安裝OK

未成功?

嘗試一下上面的第二種環境變量(雖然兩種效果一樣,但我的電腦就出現了這種莫名其妙的事情,嘗試第二種就可以了)

 

使用方法

創建虛擬設備:

此小章內容介紹的是虛擬設備的創建方法 
電腦配置低創建完成有可能會有些卡頓 
1、打開AVD Manager.exe

2、創建

注意CPU中的選項:

版本不同界面也可能是這樣

3、運行虛設備 
選擇運行

點擊后:

執行結果:

如出現報錯:emulator: ERROR: x86 emulation currently requires hardware acceleration

解決辦法下載haxm(http://www.pc6.com/softview/SoftView_436175.html)並安裝  打開SDK Manager.exe在最下面Extras中找到選擇安裝(此方法某些版本系統提示不兼容)

 

詳細參考鏈接(https://blog.csdn.net/fantasywm/article/details/45054261)

 

一直黑屏? 
創建時應該是哪個配置選錯了,或者仔細看一下前面的教程是不是少下什么包了

 

執行壓測

 

我們可以使用虛擬設備或真機進行測試(命令一樣):

 

虛擬機: 按上面的小章節安裝並運行 
真機: usb連接手機,打開開發者模式 -> 開啟USB調試(若提示是否允許調試,點是,不然不能某些操作)

 

1、查看設備是否連接成功 
進入DOSwindows+r)輸入adb devices 
虛擬設備開啟后會顯示如下結果:

 

C:\Users\Admin>adb devices

 

List of devices attached

 

emulator-5554   device

 

 

 

真機會出現如下類似結果機器型號不同顯示結果可能不一致:

 

C:\Users\Admin>adb devices

 

List of devices attached

 

GSLDU17A14004709        device

2、安裝apk程序(需要時)

apk文件復制到android sdk對應platform-tools的目錄下。

adb install 文件名.apk #安裝方法

adb uninstall 包名 #卸載

3、獲取包名(測試時需要)

方法一:

adb shell pm list package -f  #顯示所有apk包名包括系統

執行結果:

C:\Users\> adb shell pm list package -f

package:/data/app/SmokeTestApp/SmokeTestApp.apk=com.android.smoketest

package:/system/priv-app/CtsShimPrivPrebuilt/CtsShimPrivPrebuilt.apk=com.android.cts.priv.ctsshim

package:/data/app/CubeLiveWallpapers/CubeLiveWallpapers.apk=com.example.android.livecubes

package:/system/priv-app/TelephonyProvider/TelephonyProvider.apk=com.android.providers.telephony

........ #剛安裝的虛擬設備都有好幾十

方法二:

adb shell dumpsys window w | findstr \/ | findstr name= #會顯示正打開的程序

執行結果:

C:\Users\WeiBing>adb shell dumpsys window w | findstr \/ | findstr name=

      mSurface=Surface(name=com.android.email/com.android.email.activity.setup.AccountSetupFinal)  #如我們正在運行EmailAPP

記住上面的包名:com.android.email

更多獲取包名的方法(http://www.51testing.com/html/93/136593-3714533.html)

 

4、開始壓測 
方法:adb shell monkey -p your.package.name -v -v -v 100

 

分析:

 

參數-p用於約束限制,用此參數指定一個或多個包(Package,即App)。

 

100是事件計數(即讓Monkey程序模擬100次隨機用戶事件)

 

-v -v -v 100 # 以深度為三級輸出測試信息 一個兩個-v也可以效果不同

 

對上面第3步的Email APP執行測試

 

adb shell monkey -p com.android.email --throttle 500 -v -v -v 100 > D:/monkey_log.txt  

分析上面命令:

adb shell : 是進入shell 也可和后面的語句分開寫

-p : 參數是指定一個包或多個,兩個再-p package

com.android.email  package name

throttle 500  響應時間,500毫秒

 

-v -v -v : 三級詳細信息 也可一個兩個-v詳細程度不一樣

 

100  執行的操作量

 

D:/monkey_log.txt :將結果日志存儲到D盤下面取名為monkey_log.txt

 

5、找到log查看結果:

 

C:\Users\> adb shell monkey -p com.android.email --throttle 500 -v -v -v 100 > D:/monkey_log.txt

 

:Monkey: seed=1520164404419 count=100

 

:AllowPackage: com.android.email

 

:IncludeCategory: android.intent.category.LAUNCHER

 

:IncludeCategory: android.intent.category.MONKEY

 

....... # 此處省略一大堆

 

Events injected: 100

 

:Sending rotation degree=0, persist=false

 

:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0

 

## Network stats: elapsed time=4663ms (0ms mobile, 0ms wifi, 4663ms not connected)

 

詳細分析(http://www.360doc.com/content/14/0814/19/1438920_401863695.shtml)

 

6、分析日志

 

查找有無日志中的無響應問題和崩潰問題

 

## Network stats: elapsed time=5123ms (5123ms mobile, 0ms wifi, 0ms not connected)

 

// Monkey finished #表明本次的Monkey沒有異常,測試通過。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM