如何用monkey測試IOS


  • 如何用monkey測試IOS
  • 摘要: Monkey是安卓平台的一個命令行工具,它可以向系統發送偽隨機事件,如按鍵輸入、觸摸屏輸入、手勢輸入等,從而幫助開發人員、測試人員實現對App的壓力測試。在安卓平台,Monkey是一種有效的方法,用來測試軟件的穩定性、健壯性。    
  • 那么IOS 平台,是不是也有這么好的工具呢?    答案是:有。
  • 接下給大家介紹一下IOSMonkey測試環境的准備和執行。
  • 測試條件准備:1.&n 
  •   Monkey是安卓平台的一個命令行工具,它可以向系統發送偽隨機事件,如按鍵輸入、觸摸屏輸入、手勢輸入等,從而幫助開發人員、測試人員實現對App的壓力測試。在安卓平台,Monkey是一種有效的方法,用來測試軟件的穩定性、健壯性。

            那么IOS 平台,是不是也有這么好的工具呢?

            答案是:有。

    接下給大家介紹一下IOS Monkey測試環境的准備和執行。

     

    測試條件准備:

    1.  申請IOS App源碼的svn權限;

    2.  申請公司的IOS App開發者賬號;

    3.  准備好一台Mac機,並配置好xcode;

    4.  准備一台iphone手機。

     

     

    操作步驟:

    工作中,效率很重要,既然已經有寫好的腳本,我們拿來先用用。

    1.訪問github下載ios monkey腳本;網頁鏈接

    2.將手機和mac機連接;

    3.打開xcode,編譯源碼到測試機;

    4.從xcode啟動instrument

    如何用monkey測試IOS_IOS

    5.從Instrument啟動強大的Automation工具

    如何用monkey測試IOS_IOS

    6.導入js腳本

    如何用monkey測試IOS_IOS

    7.設置運行的event數和event之間的間隔

     

     

    腳本解析:

    在Automaiton工具中,執行的是js腳本,下面我們一起來看一下這個Monkey腳本。

     

    先看看腳本的都有哪些配置,在代碼行開始部分,我們看到腳本可以指定event事件的次數。

    numberofEvents:1000 表示隨機測試時要執行的事件數。

    delayBetweenEvents: 0.05 單位為秒,表示兩個事件之間的間隔。

     

    在monkey執行過程中,monke腳本有可能進入一種狀態,無法返回到上一層,如在測試搜索App時,app進入到了小說閱讀頁,長時間處於閱讀狀態。這種情況,會降低monkey隨機測試的范圍,因此需要解決這個問題。monkey腳本提供了解決這一問題的策略。可參考buttonHandler.js。

     

    App在運行過程中經常會出現ANR的情況,在android平台我們可以通過log分析,發現這一問題。而IOS Monkey可能無法發現,它會繼續執行event。為了避免這種情況的發生,我們可以修改配置讓Monkey在發現ANR時拋出異常。

    腳本中有一項配置,將fingerprintFunction選項設置成true。

    默認情況下,如果1500events 里fingerprint沒有變化,就拋出一個異常。
    如何用monkey測試IOS_IOS 

     

    如果我們發現當前腳本的事件無法滿足測試需求,我們可以對IOS Monkey腳本進行二次開發,添加自己需要的event。

    目前自帶的event如下:

    如何用monkey測試IOS_IOS

    tag:點擊;

    drag:拖拽;

    flick:划動;

    orientation:橫豎屏切換;

    clickVolumeUp:將音量調大;

    clickVolumeDown:將音量調小;

    lock:鎖屏;

    pinchClose:縮小;

    pinchOpen:放大;

    shake:搖晃。

     

    每個event后的數字越大,代表這個event發生的概率越高。

     

    有時我們期望隨機事件在某一區域發生,我們可以設置隨機事件執行的區域。

    如何用monkey測試IOS_IOS

     

    欲知IOS Monkey腳本更詳細的功能,請參考源碼。

     

     


  • 免責聲明!

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



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