Monkey測試簡介

來源:互聯網
上載者:User

在android手機上做自動化測試,monkey比cts,Android UnitTest 好用多了,他其實是繼承與adb shell中的一段的shell指令。

一monkey測試的相關的原理

monkey測試的原理就是利用socket通訊的方式來類比使用者的按鍵輸入,觸控螢幕輸入,手勢輸入等,看裝置多長時間會出異常。當Monkey程式在模擬器或裝置啟動並執行時候,如果使用者出發了比如點擊,觸摸,手勢或一些系統層級的事件的時候,它就會產生隨機脈衝,所以可以用Monkey用隨機重複的方法去負荷測試你開發的軟體。


二、Monkey程式介紹

1) Monkey程式由Android系統內建,使用Java語言寫成,在Android檔案系統中的存放路徑是:/sdk/sdk/tools/lib/monkey.jar;相應的途徑:

 

 

注意了我的sdk在f盤

2) Monkey.jar程式是由一個名為“monkey”的Shell指令碼來啟動執行,shell指令碼在Android檔案系統中的存放路徑是:/sdk/sdk/tools/bin/monkey;

這樣就可以通過在CMD視窗中執行: adb shell monkey {+命令參數}來進行Monkey測試了。

如果我不會用monkey怎麼辦了???

三、Monkey命令的簡單協助

要擷取Monkey命令內建的簡單協助,在CMD中執行命令:

adb shell monkey –help

這樣子,就有他的各種各樣的提示命令的參數。

 

我這裡對其各種參數進行了簡介了。

1) 參數:  -p

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

包之後,Monkey將只允許系統啟動指定的APP。如果不指定包,Monkey將允許系統啟動裝置中的所有APP。

* 指定一個包: adb shell monkey -p com.example.sellclientapp  100

說明:com.example.sellClientAPP 為包名,100是事件計數(即讓Monkey程式類比100次隨機使用者事件)。

* 指定多個包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader  -p com.htc.photo.widgets 100  :

 

* 不指定包:adb shell monkey 100

 說明:Monkey隨機啟動APP並發送100個隨機事件。

 

* 要查看裝置中所有的包,在CMD視窗中執行以下命令:

  >adb shell

  #cd data/data

  #ls

My Phone沒有root所以不能用這個屬性了。

2) 參數:  -v

用於指定反饋資訊層級(資訊層級就是日誌的詳細程度),總共分3個層級,分別對應的參數如下表所示:

記錄層級 Level 0

樣本 adb shell monkey -p com.htc.Weather –v 100

說明 預設值,僅提供啟動提示、測試完成和最終結果等少量資訊 相應原始碼了,這十分有利於調試了。

 

記錄層級 Level 1

樣本 adb shell monkey -p com.htc.Weather –v -v 100

說明  提供較為詳細的日誌,包括每個發送到Activity的事件資訊

 

記錄層級 Level 2

樣本 adb shell monkey -p com.htc.Weather –v -v –v 100

說明  最詳細的日誌,包括了測試中選中/未選中的Activity資訊

-s

用於指定偽隨機數產生器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。

* 樣本:

 Monkey測試1:adb shell monkey -p com.htc.Weather –s 10 100

   Monkey 測試2:adb shell monkey -p com.htc.Weather –s 10 100

   兩次測試的效果是相同的,因為類比的使用者操作序列(每次操作按照一定的先後順序所組成的一系列操作,即一個序列)是一樣的。操作序

 

列雖   然是隨機產生的,但是只要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨

 

機的;

 

monkey很好,很強大,我這些實驗都是他的皮毛,也希望得到牛人們指證。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.