二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企業(yè)資訊 » 經(jīng)驗(yàn) » 正文

        Monkey基礎(chǔ)使用教程

        放大字體  縮小字體 發(fā)布日期:2021-09-22 09:21:49    作者:小編:張凱    瀏覽次數(shù):55
        導(dǎo)讀

        一、.Monkey測試概念Monkey是Android中的一個命令行工具,可以用過adb shell模擬用戶行為,運(yùn)行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實(shí)現(xiàn)對正在開發(fā)的應(yīng)

        一、.Monkey測試概念

        Monkey是Android中的一個命令行工具,可以用過adb shell模擬用戶行為,運(yùn)行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實(shí)現(xiàn)對正在開發(fā)的應(yīng)用程序進(jìn)行壓力測試。Monkey測試是一種為了測試軟件的穩(wěn)定性、健壯性的快速有效的方法。

        二、Monkey工作原理

        測試原理:利用socket通訊的方式來模擬用戶按鍵輸入、觸摸屏輸入、手勢輸入等。

        三、基礎(chǔ)命令與示例

        1.adb devices:查看當(dāng)前連接的設(shè)備,連接到計算機(jī)的Android設(shè)備或者模擬器;

        2.adb install:指定APK文件安裝到設(shè)備 ;

        3.卸載軟件

        adb uninstall (軟件包名):指定包名卸載軟件;

        adb uninstall -k (包名):+k參數(shù),卸載軟件但保留配置和緩存文件;

        4.使用Monkey命令進(jìn)行隨機(jī)測試

        1)adb shell monkey -p(package)包名 number(次數(shù)) :指定文件包隨機(jī)次數(shù)(若不指定包名,monkey將允許系統(tǒng)啟動設(shè)備中的所有app);

        2)指定多個包進(jìn)行隨機(jī)測試

        adb shell monkey -p 包名 -p 包名

        5.日志級別

        1)Level0:缺省值,僅提供啟動提示、測試完成和蕞終結(jié)果等少量信息。

        示例:adb shell monkey -p com.storedisplay.client -v 100

        2)Level1:提供較為詳細(xì)的日志,包括每個發(fā)送到Activity的事件信息。

        示例:adb shell monkey -p com.storedisplay.client -v -v 100

        3)Level2:蕞詳細(xì)的日志,包括了測試中選中/未選中的Activity。

        示例:adb shell monkey -p com.storedisplay.client -v -v -v 100

        6.Monkey其他命令參數(shù)

        1)參數(shù):-s

        釋義:用于指定偽隨機(jī)數(shù)生成器的seed值,如果seed相同,則兩次Monkey測試所產(chǎn)生的時間序列也相同。

        示例:adb shell monkey -p com.storedisplay.client-s 10 100

        2)參數(shù):–throttle(毫秒)

        s釋義:用于指定用戶操作(事件)間的時延,單位是毫秒。

        示例:adb shell monkey -p com.storedisplay.client --throttle 300 100

        3)參數(shù):–ignore-crashes

        釋義:用于指定當(dāng)前應(yīng)用程序崩潰時(Force&Close錯誤),Monkey是否停止運(yùn)行。若使用該參數(shù),即使應(yīng)用程序崩潰,Monkey依然發(fā)送事件,直到發(fā)送事件結(jié)束完成。

        示例:adb shell monkey -p com.storedisplay.client --ignore-crashes 1000

        4)參數(shù):–ignore-timeouts(無響應(yīng)ANR)

        釋義:用于指定當(dāng)前應(yīng)用程序發(fā)送ANR錯誤時,Monkey是否停止運(yùn)行。若使用此參數(shù),即使應(yīng)用程序發(fā)送ANR錯誤,Monkey依然會發(fā)送事件,直至事件完成。

        示例:adb shell monkey -p com.storedisplay.client --ignore-tomeouts 1000

        5)參數(shù):–ignore-security-exceptions(許可證書崩潰)

        釋義:用于指定當(dāng)前應(yīng)用程序發(fā)生錯誤時(如證書許可、網(wǎng)絡(luò)許可等),Monkey是否停止運(yùn)行。如果使用此參數(shù),即使應(yīng)用程序發(fā)生許可錯誤,Monkey依然會發(fā)送事件直至事件完成。

        示例:adb shell monkey -p com.storedisplay.client --ignore-security-exceptions 1000

        6)參數(shù):–kill-process-after-error(發(fā)生錯誤停止并保持當(dāng)前狀態(tài))

        釋義:用于指定當(dāng)前應(yīng)用程序發(fā)送錯誤時,是否停止其運(yùn)行。如果指定此參數(shù),當(dāng)應(yīng)用程序發(fā)生錯誤時,應(yīng)用程序停止并保持在當(dāng)前狀態(tài)(注意:系統(tǒng)并不會結(jié)束該應(yīng)用程序的進(jìn)程)。

        示例:adb shell monkey -p com.storedisplay.client --kill-process-after-error 1000

        7)參數(shù):–monitor-native-crashes(監(jiān)視并報告Android系統(tǒng)本地代碼的崩潰事件)

        示例:adb shell monkey -p com.storedisplay.client --monitor-native-crashes 1000

         
        (文/小編:張凱)
        免責(zé)聲明
        本文僅代表作發(fā)布者:小編:張凱個人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。