Android自動化之Monkey測試(二)

本文主要從如下方面進行分享。shell

1、查看應用包名
2、Monkey啓動
3、Monkey中止
4、Monkey命令
5、日誌分析安全


 1、查看應用包名app

  大多數時候,咱們都是對特定的應用進行monkey測試,所以須要知道該應用的包名。除了能夠問開發人員,手機查看,咱們也能夠用命令來查看。測試

  在pm命令中輸入 pm list package 查看spa

  

2、Monkey啓動命令行

  一、經過usb數據線鏈接手機和電腦,而且手機打開usb調試模式;3d

  二、在cmd中經過adb命令啓動:調試

    ①直接經過PC啓動:日誌

    

    ②經過pm命令啓動:code

    

3、Monkey中止

  經過pm命令中止:

  一、經過 ps | grep monkey 查看對應包的進程

  二、經過 kill  pid(注意:pid爲對應安裝包進程的ID)中止對應的進程

  

4、Monkey命令

經過以上的內容,咱們能夠發現,Monkey啓動的命令行腳本:monkey [options] <count>

Options表示Monkey執行的可配置參數,是可選項(若是不指定options,monkey將以無反饋模式啓動,並把事件任意發送到安裝在目標環境中的所有包);

Count表示Monkey執行的事件數,爲必選項。

 

Options可簡單劃分爲5類:

一、基本配置類參數

--help:打印幫助信息
-v:指定打印信息的詳細級別,一個-v增長一個級別, 默認級別爲 0 。最高爲2,即-v -v -v

二、事件類型和頻率參數

-s:指定產生隨機事件種子值,相同的種子值產生相同的事件序列。如: -s 200
--throttle:每一個事件結束後的間隔時間——下降系統的壓力(如不指定,系統會盡快的發送事件序列)。如:--throttle 100
--pct-touch:指定觸摸事件的百分比,如:--pct-touch 5% , 相關的還有如下option:
--pct-motion <percent> (滑動事件)
--pct-trackball <percent> (軌跡球事件) 
--pct-nav<percent> (導航事件 up/down/left/right)
--pct-majornav<percent> (主要導航事件 back key 、 menu key)
--pct-syskeys<percent> (系統按鍵事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
--pct-appswitch<percent> (activity之間的切換)
--pct-anyevent<percent>(任意事件)

三、約束限制類參數

-p:指定有效的package(如不指定,則對系統中全部package有效),一個-p 對應一個有效package, 如:-p com.ckt -p com.ckt.asura;
-c:activity必須至少包含一個指定的category,才能被啓動,不然啓動不了;

四、調試類參數

--dbg-no-events:初始化啓動的activity,可是不產生任何事件。
--hprof:指定該項後在事件序列發送先後會當即生成分析報告  —— 通常建議指定該項。
--ignore-crashes:忽略崩潰
--ignore-timeouts:忽略超時
--ignore-security-exceptions:忽略安全異常
--kill-process-after-error:發生錯誤後直接殺掉進程
--monitor-native-crashes:跟蹤本地方法的崩潰問題
--wait-dbg:知道鏈接了調試器才執行monkey測試。

五、官方隱藏類參數

--pkg-blacklist-file<黑名單文件>--pkg-whitelist-file<白名單文件>-f<腳本文件>

在平常使用monkey時,咱們通常都是將多個options <count> 組合起來使用,實現多個功能。

 

5、日誌分析

Monkey運行日誌常見的保存方法:

  一、 保存在PC中

  >adb shell monkey [option] <count> >d:\monkey.txt

  執行以上命令,Monkey的日誌保存在PC端的d盤下的一個monkey.txt的文件中

  二、保存在手機中

  >adb shell monkey [option] <count> >/mnt/sdcard/monkey.txt

  執行以上命令,Monkey的命令將被保存在手機中的SD卡上的一個monkey.txt的文件中

  三、標註流與錯誤流分開保存

  >adb shell monkey [option] <count> 1>d:\standard.txt 2>d:\error.txt

  執行以上命令,Monkey的運行日誌和異常日誌將被分開保存,此時Monkey的運行日誌將被保存在standard.txt文件中,而異常日誌將被保存在D盤下的error.txt中。

  執行後,能夠看到PC的d盤中看見standard.txt和error.txt。

  ①standard.txt顯示運行日誌。

  ②若是Monkey在執行期間存在Crash(崩潰)或ANR(Application Not Responding,應用程序無響應),error.txt中會顯示錯誤日誌。

  注意:這種方法不管是保存在PC仍是手機均可。

相關文章
相關標籤/搜索