app專項測試之穩定性測試-monkey測試


一. monkey測試簡介

  monkey工具是Android自動化測試工具的一種,主要對Android app穩定性和健壯性進行測試。  

  Monkey是Android系統中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等)模擬用戶操作,實現對設備上的程序的壓力測試,檢測程序多久時間會發生異常。Monkey測試是一種為了測試軟件的穩定性、健壯性的快速有效的方法。

二. monkey的特征  

  1.  測試的對象僅為應用程序包,有一定的局限性。

  2.  Monky測試使用的事件流數據流是隨機的,不能進行自定義。

  3. 可對MonkeyTest的對象,事件數量,類型,頻率等進行設置。

  適用情況:ANR和CRASH異常情況;低概率很難復現的異常。

三. 安裝monkey工具

  1. 下載安裝JDK

  附JDK官網下載鏈接http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  

  下載截圖(其中需要同意許可證,同時針對mac下載和window下載(x86是32位,x64是64位)已標注)

  

  安裝成功后可驗證是否安裝成功,mac打開終端,輸入java -version回車,出現版本信息則安裝成功  

  

  2.下載Android開發環境的Adt Bundle

  附下載鏈接http://www.cnblogs.com/tc310/p/3938353.html

  下載截圖(針對mac下載和window下載(x86是32位,x64是64位)已標注) 

  

  安裝成功后可驗證是否安裝成功,mac打開終端,輸入adb version回車,出現版本信息則安裝成功

    此時打開終端輸入adb會提示-bash: abd: command not found。需要解決Android SDK的adb命令添加到環境變量的問題。

  1. 啟動終端,進入到當前用戶的Home目錄(命令在下一行)

  cd $HOME

  2. 創建 .bash_profile文件

  touch .bash_profile

  3. 打開 .bash_profile 文件,對其內容進行編輯

  open -e .bash_profile 

  4. 此時文本編輯器會打開一個文本,編輯內容如下:

  export PATH=${PATH}:此處粘貼adb中platform-tools文件夾所在的目錄路徑地址

  編輯完成后,可直接關閉,此時已保存

  5.更新此文件

  source .bash_profile

  此時的adb環境配置好,可以檢驗一下

  6.檢驗是否成功(終端輸入)

  adb/adb devices

  adb組成

    客戶端client:運行在pc端上,可以通過shell來調起一個客戶端,其他android工具

    服務器server:運行在pc端后台,負責管理client和daemon進行通信

    守護進程daemon:運行在模擬器或者android設備的后台 

  adb常見命令

    adb --help 查看幫助手冊

    adb devices 檢測連接到電腦的安卓設備

    adb pull <手機路徑><本機路徑>從手機中拉取信息放到本地電腦上

      adb shell ;ls ;cd sdcard ; exit ; 手機路徑 /sdcard/kwsecurity-crash.txt 本機路徑 /Users/mac/Desktop/

    adb push <本機路徑><手機路徑>從本地推送信息到手機上去

      adb push /Users/mac/Desktop/yiwei  /sdcard/

    adb shell 登錄設備 shell(命令行的人機界面)進入linux環境了。(相當於執行遠程命令)

      pm list packages  查看應用安裝的包

      $ pm list packages | grep mockuai  根據某個關鍵字查找包

    adb logcat 打印日志

      control+c 停止

      adb logcat > 目錄文件保存日志文件

      ps:查看當前運行程序

    adb install xxx.apk apk所在路徑

    adb uninstall 應用包名

    adb shell dumpsys activity | find "mFocusedActivity" --查看前台應用包名 

      adb shell dumpsys activity | grep "Focus"   com.mockuai.mkselleros

    adb connect/disconnect 通過wifi進行遠程連接手機進行調試

      adb tcpip 5555

  3. 打開usb調試

    若使用真機,用USB將手機和Mac連接,在手機端進行操作:

    1. 選擇USB連接方式為傳輸文件;  

    2. 設置->其他設置->開發者選項->開啟開發者選項和usb調試(真機和模擬器上皆需進行);

    檢測是否連接了設備:adb devices

    部分真機可能存在檢測不到的情況,可進行創建、修改adb_usb.ini文件,操作如下:

    a、在終端中輸入‘system_profiler SPUSBDataType’,找到手機的Vendor ID並記錄;
    b、在終端中輸入‘vi ~/.android/adb_usb.ini’,創建並打開文本,按‘I’鍵可對文本進行編輯,向文本中添加記錄的Vendor ID

     (若添加多個,需確保每個id占一行且文本中無空行),完成后按‘esc’鍵,然后鍵入‘:wq!’,即可保存並退出文本。完

       成此步后將發現路徑/Users/xxx/.android下存在adb_usb.ini文件;
    c、將手機拔掉重新接入Mac,重復1.2,在終端中輸入‘adb kill-server’,然后輸入‘adb start-server’,再次輸入‘adb devices’查看是否識別到設備。

四. monkey常見命令

  monkey命令格式:

  adb shell monkey {+命令參數} 次數

  adb shell monkey -help/-h

  -v 用於指定反饋信息級別(信息級別就是日志的詳細程度,總共分三個級別)

  -p 后面接着的對應的包名,此參數指定一個或多個包

  -s 用於指定偽隨機數生成器的seed值,如果seed值相同,則兩次monkey測試所產生的事件序列也相同的。(用於問題重現)

  --throttle<毫秒> 用於指定用戶操作(事件)間的時延,單位是毫秒

  -ignore-crashes-ignore-timeouts 在monkey測試的過程中遇到crash或者timeout的情況忽略掉,一般不設置時,出現crash或者timeout時,monkey測試會終止

  設置這個是為了防止monkey測試終止

  次數 指點擊的次數,一般設置100000

  

    

  

 


免責聲明!

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



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