簡介
今天由宏哥給小伙伴們來介紹猴哥的混血弟弟=Monkey。Monkey 是Android SDK提供的一個命令行工具, 可以簡單,方便地運行在任何版本的Android模擬器和實體設備上。?Monkey會發送偽隨機的用戶事件流,適合對app做壓力測試。
中文名:猴子
英文名:Monkey
出身年月:不詳
職業:自動化測試工具
常住地址:花果山水簾洞1號
1、Monkey簡介
在 Android的官方自動化測試領域有一只非常著名的“猴子”叫Monkey,這只“猴子”一旦啟動,就會讓被測的Android應用程序像猴子一樣活蹦亂跳,到處亂跑。人們常用這只“猴子”來對被測程序進行壓力測試,檢查和評估被測程序的穩定性。
Android官方對這只“猴子”的描述是這樣的:
The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as a number of system-level events. You can use the Monkey to stress-test applications that you are developing, in a random yet repeatable manner.
Monkey是一個程序,運行在您的模擬器或設備上,并生成偽隨機的用戶事件流,如點擊,觸摸或手勢,以及一些系統級事件。 您可以使用Monkey以隨機但可重復的方式對您正在開發的應用程序進行壓力測試。
monkey官方文檔: http://www.android-doc.com/tools/help/monkey.html
2、環境搭建
安裝Android SDK?并配置環境變量
3、什么是Monkey
顧名思義,Monkey就是猴子,? Monkey測試,就像一只猴子,?在電腦面前,亂敲鍵盤在測試。? 猴子什么都不懂, 只知道亂敲
通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、 按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常
4、Monkey 用來做什么
Monkey 主要用于Android 的壓力測試? 自動的一個壓力測試小工具,?主要目的就是為了測試app?是否會Crash.
5、Monkey程序介紹
(1) Monkey程序由Android系統自帶,使用Java詫言寫成,在Android文件系統中的存放路徑是: /system/framework/monkey.jar;? ?
(2) Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中 的存放路徑是:/system/bin/monkey; ?
(3)Monkey 命令啟動方式:?? ?
????????? a)可以通過PC機CMD窗口中執行: adb shell monkey {+命令參數}來進行Monkey測試??????????
b)在PC上adb shell 進入Android系統,通過執行 monkey {+命令參數} 來進行Monkey 測試??????????
c )? 在Android機或者模擬器上直接執行monkey 命令,可以在Android機上安裝Android終端模擬器 ?
6、Monkey 架構
Monkey 運行在設備或模擬器上面,可以脫離PC運行(普遍做法是將monkey作為一個像待測應用發送 隨機按鍵消息的測試工具。驗證待測應用在這些隨機性的輸入面前是否會閃退或者崩潰)
7、Monkey弱點
Monkey雖然可以根據一個指定的命令腳本發送按鍵消息,但其丌支持條件判斷,也丌支持讀取待測界 面的信息來執行驗證操作。
8、Moneky 路徑
Monkey程序是Android系統自帶的,其啟動腳本是位于Android系統的/system/bin目錄的Monkey文件,其jar包是位于Android系統的/system/framework目錄的Monkey.jar文件。用戶主要是通過adb命令來啟動Monkey的,Monkey在運行時,會根據命令行參數的配置,生成偽隨機的事件流,并在Android設備上執行對應的測試事件。同時,Monkey還會對測試系統進行監測,當出現以下三種情況時會進行特殊處理:
- 如限定了 Monkey運行在特定包上,當監測到試圖轉到其他包的操作,將對其進行阻止。
- 如應用程序崩潰或接收到任何失控異常, Monkey將記錄對應的錯誤日志,并根據命令行參數判斷是停止運行還是繼續運行。
- 如果應用程序發生了程序無響應( application not responding)的錯誤,Monkey將記錄對應的錯誤日志,并根據命令行參數判斷是停止運行還是繼續運行。
- 按照選定的不同級別的反饋信息,在 Monkey中還可以看到其執行過程報告和生成的事件。
9、Monkey啟動步驟
1、檢查設備連接狀態(以夜神模擬器為例)
2、從上圖看出,設備未連接,連接移動設備
3、再次查看設備連接狀態
4、連接成功后輸入命令:adb? shell
5、進入到指定目錄,命令: cd ?/system/bin
6、輸入 monkey命令看到如下提示則說明啟動成功。
10、強制關閉 monkey
1、adb shell ps 查看全部在運行的進程
2、查找出 com.android.commands.monkey 進程PID
3、adb shell kill pid 殺掉monkey進程
11、monkey 命令
monkey命令格式如下:
$ adb
shell
?monkey [options]
- [options] ? 是指 monkey可傳入的參數,是可選項(如果不指定options,Monkey將以無反饋模式啟動,并把事件任意發送到安裝在目標環境中的全部包)
12、小結
? 好了,Monkey簡介暫且到這里,下一篇計劃介紹分享Monkey事件!!!
您的肯定就是我進步的動力。
如果你感覺還不錯,就請鼓勵一下吧!記得點波?
推薦
?哦!!!
個人公眾號
微信群
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
