Monkey是安卓平台的一個命令行工具,它可以向系統發送偽隨機事件,如按鍵輸入、觸摸屏輸入、手勢輸入等,從而幫助開發人員、測試人員實現對App的壓力測試。在安卓平台,Monkey是一種有效的方法,用來測試軟件的穩定性、健壯性。
那么IOS 平台,是不是也有這么好的工具呢? 答案是:有。
那么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
5.從Instrument啟動強大的Automation工具
6.導入js腳本
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沒有變化,就拋出一個異常。
如果我們發現當前腳本的事件無法滿足測試需求,我們可以對IOS Monkey腳本進行二次開發,添加自己需要的event。
目前自帶的event如下:
tag:點擊;
drag:拖拽;
flick:划動;
orientation:橫豎屏切換;
clickVolumeUp:將音量調大;
clickVolumeDown:將音量調小;
lock:鎖屏;
pinchClose:縮小;
pinchOpen:放大;
shake:搖晃。
每個event后的數字越大,代表這個event發生的概率越高。
有時我們期望隨機事件在某一區域發生,我們可以設置隨機事件執行的區域。
欲知IOS Monkey腳本更詳細的功能,請參考源碼。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。