天天看點

Monkey指令基本參數

1.使用monkey測試手機所有程式

adb shell monkey 10000 執行monkey測試10000次 針對rom測試或者

他會自己在模拟器操作

Monkey指令基本參數

2.将monkey日志列印在本地666.txt

adb shell monkey 10000 >D:/666.txt

Monkey指令基本參數

3.-p <允許的包名清單>

adb shell monkey -p com.example.login 100

用此參數指定一個或多個包。指定包之後,monkey将隻允許系統啟動指定的app。如果不指定包, monkey将允許系統啟動裝置中的所有app。

指定一個包

adb shell monkey -p com.example.login  100 
adb shell monkey -p com.example.login  100 + 日志列印的路徑
           

4.随機種子數

用亍指定僞随機數生成器的seed值,如果seed(-s)相同,則兩次Monkey測試所産生的事件序列也相同的。 示例:

monkey測試1:adb shell monkey -s 10 -v 200 >D:\logcat\jjj.txt

monkey測試2:adb shell monkey -s 10 -v 200 >D:\logcat\xxx.txt

Monkey指令基本參數

5.啟動一個包名的應用

在一些講解指令行時,隻講到單APP的調試,但是monkey具備同時對多裝置進行調試的能力,隻需要增加多個 -p 包名字段就可以實作

adb shell monkey -p com.miui.calculator -p com.android.thememanager 1000
           

6.v : 記錄檔記錄

指令行不同個數的-v會有不同的效果

-v:Level 0(預設值)除 啟動提示、測試完成和最終結果之外,提供較少資訊。

-v -v :Level 1提供較為詳細的測試資訊,如逐個發送到Activity的 事件。

-v -v -v :Level 2提供更加詳細的設定資訊,如測試中被選中的或未被選中的Activity。

adb shell monkey -p com.miui.calculator -v -v -v 1000
           

7.-s 僞随機數生成器的seed值

測試為了人員能夠重制測試到的bug問題,需要能夠對Monkey的随機生成事件有重制能力,monkey允許對随機事件的seed值做設定,當兩次seed值一樣,整個測試效果将會産生相同的事件序列

adb shell monkey -p com.miui.calculator -s 12345 -v 1000
           

8.–ignore-crashes 忽略崩潰/–ignore-timeouts 忽略逾時/–ignore-security-exceptions 忽略安全異常

一般情況下,APP在操作過程中會存在崩潰、逾時、異常等情況,按照前面所提到的,這會導緻monkey直接停止測試。如果想要忽略掉這些情況,直接配置忽略設定就可以了。ps:這裡的逾時并不是網絡逾時,而是相應逾時導緻的ANR。

adb shell monkey 
-p com.miui.calculator
--ignore-crashes --ignore-timeouts --ignore-security-exceptions
-v 1000
           

9.–throttle : 事件之間加入延時操作

在某些不需要頻率過快,或需要定頻率進行互動時,可以采用–throttle來做事件之間的延時操作。

·adb shell monkey -p com.miui.calculator --throttle 500 -v 1000
           

10指定Monkey事件

在Monkey中,雖然輸入的事件是随機産生的,但是可以指定輸入事件類型的百分比,讓其控制在我們需要的範圍内。

在Monkey中,可以設定的事件類型有:

* --pct-touch <percent>:指定觸摸事件的百分比。

 * --pct-motion <percent>:指定滑動事件的百分比。

* --pct-trackball <percent>:指定軌迹球事件的百分比。

* --pct-nav <percent>:指定導航事件中,up、down、left、right等事件的百分比。

* --pct-majornav <percent>:指定導航事件中,back、menu等事件的百分比。

* --pct-syskeys <percent>:指定系統按鍵的百分比,包括HOME、Back、音量等。

* --pct-appswitch <percent>:指定Activity之間切換的比例。

* --pct-anyevent <percent>:指定任意事件的百分比。
* usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]//調試的應用包名
          [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]//測試對應的categrory
          [--ignore-crashes] [--ignore-timeouts]
          [--ignore-security-exceptions]
          [--monitor-native-crashes] [--ignore-native-crashes]//忽略系列的大爺們
          [--kill-process-after-error] [--hprof]//預設
          [--pct-touch PERCENT] [--pct-motion PERCENT]
          [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
          [--pct-nav PERCENT] [--pct-majornav PERCENT]
          [--pct-appswitch PERCENT] [--pct-flip PERCENT]
          [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]//事件百分比設定
          [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
          [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
          [--wait-dbg] [--dbg-no-events]
          [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
          [--port port]
          [-s SEED] [-v [-v] ...]//設定随機數生成器的seed值
          [--throttle MILLISEC] [--randomize-throttle]//延時操作
          [--profile-wait MILLISEC]
          [--device-sleep-time MILLISEC]
          [--randomize-script]
          [--script-log]
          [--bugreport]
          [--periodic-bugreport]
          COUNT
           

11.如何關閉monkey

monkey在運作過程中就算PC拔掉USB資料線,也會繼續進行,但是在某些情況下,将我們需要monkey關掉。這需要強制将正在運作monkey。

首先。使用

adb shell

ps | grep monkey

kill pid(前面會輸出)