Monkey (壓力測試)-移動端手機壓力測試工具 monkey以及monkeyrunner


4. Monkey (壓力測試)

這個是Android提供的系統工具。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種為了測試軟件的穩定性、健壯性的快速有效的方法。

測試的對象僅為應用程序包,有一定的局限性。


Monky測試使用的事件流數據流是隨機的,不能進行自定義。


可對MonkeyTest的對象,事件數量,類型,頻率等進行設置。

 

 

1.Monkey是什么以及有什么用

Monkey Android中的一個命令行工,可以運行在模擬器和實際設備中,它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試然后開發人員結合monkey 打印的日志和系統打印的日志,解決測試中出現的問題。Monkey測試是一種測試軟件的穩定性快速有效的方法

 

2.環境配置

要使用monkey必須配置環境,步驟如下:

1.下android-sdk-windows,鏈接\\192.168.1.47\測試部共享\鄢明輝

2.解壓android-sdk-windows.zip,將解壓后得到的android-sdk-windows文件夾放在一個固定的路徑下不要隨意移動,例如放在D盤根目錄下:F:\android-sdk-windows(路徑根據個人喜好可隨意設置,但是一旦設置好請勿再移動)

3.分別雙擊F:\android-sdk-windows\ platform-tools文件夾中的adb.exe以及fastboot.exe

4.WiN7系統:右鍵計算機->屬性->高級系統設置->環境變量->在系統變量中找到Path->雙擊Path或點擊編輯->將路徑F:\android-sdk-windows\platform-tools復制到最后   注意:在F:\android-sdk-windows\platform-tools之前要加一個英文狀態下的;

(實際上可以添加多個路徑,每個路徑都用分號;隔開)

如圖:

5.xp系統是同樣的道理,右鍵我的電腦->屬性->高級->環境變量->在系統變量中找到Path->雙擊Path或點擊編輯-將路徑F:\android-sdk-windows\platform-tools復制到最后   注意:在F:\android-sdk-windows\platform-tools之前要加一個英文狀態下的;

 

 

 

 

 

 

 

6.打開開始菜單,點擊運行,輸入cmd,回車,輸入adb-decvices,回車,出現如圖所示,即說明已配置成功並可正常使用

 

7.把手機連接到電腦,輸入adb-decvices,若出現如圖所示,即說明設備已經成功連接

 

0123456789ABCDEF是關於手機->狀態消息->序列號

3.用各種命令對手機進行操作和測試

adb remount

獲取更高的權限,僅限於ENG版本(工程版本)和已取得root權限,否則會有如下提示

 

 

 

adb pull <原始路徑> <目標路徑>

將原始路徑的文件導出到目標路徑

很形象,就是將文件從原始路徑推到目標路徑

如:adb pull system/app/XXX.apk D:/

->將手機system/app目錄下的xxx.apk導出到D盤根目錄

->需要注意system/app需要有ROOT權限或者是ENG版本才有導入/導出權限

->導入前需要先adb remount(獲取更高權限一下),不然成功不了

例如測試經常用到的三條命令,也都是如此

adb logcat -v time > d:log.txt 現抓adb log並導出log到電腦D盤根目錄

adb pull /sdcard/mtklog d:mtklog adb的方式導出mtklog到電腦D盤根目錄

adb pull /data/anr d:anr 導出anr log到電腦D盤根目錄

3.運行實例:

  1. 鏈接手機,輸入adb devices查看設備的連接情況

 

如圖即為鏈接成功

 

2,。確認設備連接成功后,輸入adb shell進入shell界面

 

$代表user版本,如果是#則代表當前版本是ENG版本

3.查看系統的程序

命令ls system/app

 

4.隨便挑一個程序,以瀏覽器為例:

輸入monkey -p com.android.browser -v 500

其中其中-p表示對象包 –v 表示反饋信息級別它啟動瀏覽器,並向其發送500個偽隨機事件,數字是可以隨意改的。

確定后在手機上可以看見屏幕上瀏覽器的界面不斷變化,模擬各種操作。

更多命令可以參考附件

 

Monkeyrunner

1首先說一下monkeymonkeyrunner的區別

Monkey工具直接運行在設備或模擬器的adb shell中,生成用戶或系統的偽隨機事件流。

monkeyrunner工具則是在工作站上通過API定義的特定命令和事件控制設備或模擬器。可以進行精細的如點,拖拽等具體的操作,相對來說具有更強的可操作性。而monkey只能是生成隨機的事件流,當然事件流里面各個事件的百分比其實是可以調整的,所以稱之為為偽隨機。

Monkeyrunner能做什么

通過monkeyrunner,您可以寫出一個Python程序去安裝一個Android應用程序或測試包,運行它,向手機發送模擬擊鍵,截取它的用戶界面圖片,並將截圖存儲於工作站上。monkeyrunner工具的主要設計目的是用於測試功能/框架水平上的應用程序和設備,或用於運行單元測試套件,但您當然也可以將其用於其它目的。

環境配置

同樣的,要使用monkeyrunner也要能配置環境,同時安裝一些必須的軟件

軟件鏈接:

JDK:http://www.androiddevtools.cn/

ADT Bundle:http://www.androiddevtools.cn/

注意選擇自己的系統是32還是64位的

解壓ADT得到的三個文件如圖,JDK是安裝JDK出現的文件夾

 

打開SDK,添加標注的兩個路徑到環境變量path,方法同上面那個一樣的

 

至於JDK直接下載安裝就好,安裝目錄記清楚,添加安裝目錄下的bin文件路徑到path

 

至於python大家可以自由選擇安裝與否

下載路徑:https://www.python.org/downloads/windows/

安裝以后可以在path中添加C:\Python34\Tools\Script

具體安裝的路徑不同,添加路徑有所不同,都是安裝目錄中的Tools\Scripts

配置好環境以后,在cmd環境下輸入monkeyrunner

 

出現如圖提示,即為環境配置成功,可正式使用monkeyrunner工作了

命令:monkeyrunner

接下來,首要一件事就是導入monkeyrunner所要使用的模塊。直接在shell命令下輸入:

from com.android.monkeyrunner import MonkeyRunner

from com.android.monkeyrunner import MonkeyDevice

from com.android.monkeyrunner import MonkeyImage

OK,這步完成我們就可以利用monkeyrunner進行測試工作了。

 

運行實例

首先導入模塊,然后連接設備

device=MonkeyRunner.waitForConnection() #連接手機設備

device.touch(300,300,'DOWN_AND_UP')點按屏幕的某個位置,坐標是可以根據需要調整

將手機隨便打開一個軟件,繼續輸入

 device.press('KEYCODE_HOME','DOWN_AND_UP')點擊home 
觀察手機是否會回到主屏幕

 

大概的流程就是這樣,在這種情況下,能對手機進行操作,模擬手機的操作。例如模擬發短信。自己手動操作的時候需要7個步驟:

1點開短信2.新建短信3.點擊號碼輸入框4.輸入號碼

6.點擊信息內容輸入框6輸入內容7點擊發送

點擊命令是touch,輸入命令是type,然后配上相應的坐標和輸入的內容,就能通過命令控制手機完成發短信這一操作。

更多命令操作可以查看附件或者百度,靈活使用各種命令來達到自己想要的結果才是精髓。

公司測試一般會給一個以python寫成的文件,可以拖入運行。簡單的來說我們用的時候只需要修改其中的幾個參數就好了

更多命令參考附件

 


免責聲明!

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



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