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

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