APP(Monkey測試)


(一)可以通過Python或是cmd進入DOS窗口進行命令輸出.

  1. cmd進入DOS窗口,進行adb命令的執行(前提是提前安裝adb,安裝教程自行百度)
  2. 打開PyCharm,import os,利用os.system(  )進行adb命令的執行

(二)在DOS窗口進行Monkey測試:

  1. 通過數據線連接手機和電腦,開啟USB調試模式,打開開發者模式
  2. adb devices    檢查設備是否存在
  3. adb shell "logcat | grep START"   獲取包名(在輸入命令后,點擊需要測試的APP,在屏幕輸出的最后一行的cmp=右邊的就是app的包名。)
  4. 執行Monkey測試,輸出指令:adb shell monkey -p com.xxxxxx.buyer -v -v -v -s 200 1000
  5. -p 后面可以指定測試某一個或是多個測試包
  6. -s 用於指定偽隨機數生成器的seed值,如果seed值相同,則倆次Monkey測試所產生的 的事件序列也是相同的(就是seed值相同,倆次Monkey測試的操作事件的順序也是相同的)
  7. -v 指定信息反饋的級別,-v,-v -v,-v -v -v三個級別,-v -v -v是最高級別,反饋的信息是最詳細的,一般測試時選擇最高級別.
  8. 200指的就是seed的序列可以任意設置不同的整數
  9. 1000指的就是設置的點擊次數

(三)Monkey測試中常用的參數:

  1. --throttle  (毫秒)  倆個事件操作間的延時操作時間
  2. --randomize-throttle 在事件間插入隨機延時范圍為0到throttle設置的時間   (例子:adb shell monkey -p com.d2cmall.buyer --thro-ttle 5000 randomize-throttle 100 1000)
  3. --ignore-crashes 忽略程序崩潰。設置此選項后,Monkey會執行完所有的事件,不會因crash而停止。
  4. --ignore-timeouts 忽略程序無響應。設置此選項后,Monkey會執行完所有的事件,不會因ANR而停止。
  5. --ignore-security-exceptions 忽略證書或認證異常。設置此選項后,Monkey會執行完所有的事件,不會因認證或證書異常而停止。
  6. --ignore-native-crashes 監視系統中本地代碼發生的崩潰
  7. --monitor-native-crashes 忽略本地代碼導致的崩潰。設置忽略后,Monkey將執行完所有的事件,不會因此停止。

(四)Monkey調整百分比事件:

  1. --pct-touch 調整點擊事件的百分比(上下點擊)

  2. --pct-motion 調整移動事件的百分比(直線滑動)

  3. --pct-pinchzoom 調整倆指縮放壓縮手勢的百分比,比如放大縮小手勢操作

  4. --pct-rotation 調整旋轉事件的百分比(橫屏豎屏)

  5. --pct-nav 調整主要導航事件的百分比,例如中間鍵/菜單鍵/退回鍵

  6. --pct-syskeys 調整"系統"按鍵事件的百分比,這些按鍵一般專供系統使用,如back/home/call/音量控制等

  7. --pct-appswitch 調整app切換事件的百分比

  8. --pct-flip 調整鍵盤喚出隱藏事件的百分比

  9. 例:adb shell monkey -p com.xxx.buyer -s 200 -v -v -v --pct-touch 100 1000    (注:百分比事件命令可以組合使用)

(五)monkey黑白名單:

  1. 創建白名單whitelist.txt,在名單內輸入想要測試的包名

  2. 把文件推送到手機端的/data/local/tmp目錄

  3. 推送命令:adb push whitelist.txt文件所在的路徑 /data/local/tmp

  4. 執行這個文件,adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt 1000次

     

  5. 創建黑名單blacklist.txt,在名單內輸入想要測試的包名

  6. 執行這個文件,adb shell monkey --pkg-blacklist-file /data/local/tmp/whitelist.txt 1000次

(六)把Monkey日志輸出到指定文件:

  1. adb shell monkey -p com.xxxxxxl.buyer -v -v -v -s 200 1000 > /絕對路徑+指定文件名

(七)終止Monkey測試的執行:

  1. 在dos窗口ctrl+c終止后,adb shell ps查詢到monkey的進程,kill 進程號
  2. adb shell后再進行ps的進程查詢可能會出現只顯示shell內正在進行的進程而導致查詢不到Monkey進程,adb shell ps顯示的是手機內的所有進程

Monkey測試出現的異常的原因以及日志分析:

  1. 一般是由於以下兩種原因導致的:
  2. Crash 程序崩潰(程序存在空指針/CPU內存不足/內存不足)
  3. ANR 程序無響應(CPU不足/內存不足/線程阻塞)
  4. 常見的測試結果分析方法-搜索關鍵字:(在日志中搜索“ANR”,在日志中搜索“CRASH”,在日志中搜索”Exception”)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM