中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Monkey工具怎么用

發布時間:2021-12-24 18:43:12 來源:億速云 閱讀:278 作者:柒染 欄目:移動開發

這篇文章給大家介紹Monkey工具怎么用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

    今天我來講一下最近上手的一款工具---------monkey。Api網站上是這么定義的:Monkey是運行在模擬器或者設備上的能夠生成偽隨機的用戶事件流(比如 點擊、觸摸或者手勢,還有許多系統級別的事件)的程序。你可以用Monkey用隨機可重復的方式對你正在開發的應用程序進行壓力測試。說白了就Monkey能夠進行模擬用戶或系統的響應。在開發的時候進行壓力測試。

1、Monkey工具的介紹

 Monkey是一個能運行在任何模擬器或者設備上的命令行工具,它向系統發送偽隨機的用戶事件流。實現對正在開發的應用程序的壓力測試。

Monkey包括很多的操作,但是一般分類以下四類:

 a: 基本配置選項,比如設置事件的數量。

 b: 操作的限制,比如限制只在這一個包中操作。

 c: 事件類型和頻率。

 d: debug選項。

 當Monkey運行的時候,它會產生和發送事件到系統,同時會監聽系統在測試環境下如果出現以下三種情況會特殊處理:

  1 如果你指定Monkey運行在一個或者多個特定的包中的時候,它將會嘗試到其他的包中,同時進行阻塞。

  2 如果你正在測試的應用程序crashes了或者遇到不能捕獲的異常,Monkey就會停止而且報錯。

  3 如果你的應用程序出現ANR,Monkey也會停止然后報錯。

根據你選的Verbosity級別的Log,可以看到Monkey運行的過程日志記錄。

2、基本用法

可以在開發環境中用命令行或者腳本語言運行Monkey。由于Monkey運行在模擬器或者設備上,所以命令行必須有shell環境。可以在adb shell上運行命令。也可以進入Monkey的命令行操作。

基本語法如下:

$ adb shell monkey [options] <event-count>

如果沒有[options]的時候Monkey就以靜默模式運行(沒有verbose級別的日志),同時發送向所有在設備上的包發送事件(命令)。

$ adb shell monkey -p your.package.name -v 500

上面這個命令就是向應用發送500次偽隨機事件。

Api文檔中命令行詳解如下:

Monkey工具怎么用

Monkey工具怎么用Monkey工具怎么用

Monkey工具怎么用

以上的api文檔中的一些命令參數可以通過--help 來查看參數以及使用方法;

比如

Monkey工具怎么用

>adb shell monkey -p com.ydzy.ydzydemo -v  -v -v 10 -script -ignore-crashes -hprof >output.txt

上面的命令的大概意思的 模擬偽隨機事件10次,忽略crashes,-hprof 的意思的會按照之前的事件序列生成分析報告,文件大小大概在5MB左右。這個應該和TraceView工具生成的文件一樣。 >output.txt

這個命令的意思是將db shell monkey -p com.ydzy.ydzydemo -v  -v -v 10 -script -ignore-crashes -hprof 輸出到output.txt文件中。生成的output.txt可以再如下圖中位置找到:

Monkey工具怎么用

3 、測試結果分析

  因為如果模擬太多次的話會生成大量文件,所有我上面的偽隨機數設置了10,以下是output.txt文件的內容:

(藍色是日志------ 紅色代表我的注解)

:Monkey: seed=0 count=10 (seed 是上面第二部分命令行詳解的參數 這個代表偽隨機數值生成器,代表多次運行的隨機數值相同的話他將生成的事件序列也是相同的 count代表模擬測試偽事件的次數)

:AllowPackage: com.ydzy.ydzydemo

:IncludeCategory: android.intent.category.LAUNCHER

:IncludeCategory: android.intent.category.MONKEY

// Event percentages:(偽事件分類(分別表示touch類型 、motion、 trackball、 syskeys、 nav、 majornav、 appswitch、 flip、 anyevent、)所占時間的比例)

//   0: 15.0%

//   1: 10.0%

//   2: 15.0%

//   3: 25.0%

//   4: 15.0%

//   5: 2.0%

//   6: 2.0%

//   7: 1.0%

//   8: 15.0%

:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.ydzy.ydzydemo/com.ydzy.musicbook.ui.HomeActivity;end(表示跳轉到HomeActivity)

    // Allowing start of Intent { act=android.intent.action.MAIN (允許跳轉在包中)cat=[android.intent.category.LAUNCHER] cmp=com.ydzy.ydzydemo/com.ydzy.musicbook.ui.HomeActivity } in package com.ydzy.ydzydemo

Events injected: 10(事件注入)

:Dropped: keys=0 pointers=0 trackballs=0 flips=0(丟棄的事件記錄)

## Network stats: elapsed time=42ms (0ms mobile, 42ms wifi, 0ms not connected)(統計的花費的事件狀況 手機耗時42毫秒 wifi耗時0毫秒 而且網絡一直連接)

// Monkey finished(測試完成,如果有異常的話假如沒有忽略crashes的話會停止并且顯示異常)

如果crashes掉的話應該有 CRASH這種字段

關于Monkey工具怎么用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿州市| 彭山县| 本溪| 嘉义市| 皋兰县| 通道| 彰化县| 亚东县| 麻栗坡县| 沧源| 安吉县| 平罗县| 四川省| 巴楚县| 万荣县| 永修县| 石楼县| 柳林县| 萍乡市| 永新县| 五莲县| 琼海市| 都匀市| 罗田县| 九江市| 宁武县| 铁岭市| 花莲市| 澄城县| 平度市| 宜章县| 望奎县| 疏勒县| 宜宾市| 顺义区| 玉门市| 柘荣县| 甘孜| 东宁县| 阿瓦提县| 佛山市|