1. 程式人生 > >iOS fastMonkey 測試

iOS fastMonkey 測試

關鍵字:xcode9.2、FastMonkey、Carthage、XCTestWD

目錄:

一.背景介紹

二.FastMonkey介紹

三.搭建FastMonkey的前置條件

四.FastMonkey工程配置

五.進行Monkey測試

六.後記

一.背景介紹

        近期老大讓調研iOSMonkey測試,看了好幾個第三方的框架,最後看到了集眾家所長的FastMonkey。因此作為一名iOS Monkey測試小白,在環境搭建和執行上遇到了很多問題,看了寫FastMonkey的zhangzhao大神寫的原貼和簡書上luckydaxian寫的掃盲貼,又QQ問zhangzhao大神,終於運行了起來,因此寫此篇文章進行記錄,希望能夠幫助其他小夥伴少進坑。

        此外進行下說明,此篇文章和luckydaxian寫的《使用Fastmonkey進行Monkey測試實踐》有很多相似之處,許多也直接進行了引用,但是由於按照luckydaxian寫的仍然存在一些問題,我在luckydaxian寫的文章下進行了評論,但是為了有類似經歷的小夥伴看起來更方便,搭建環境過程更順利,所以就重新整理了一遍。在這裡向zhangzhao大神和luckydaxian致敬~

二.FastMonkey介紹

        Fastmonkey是zhangzhao大神去年(2017年)開源的一款iOS應用Monkey測試工具,基於 XCTestWD、swiftmonkey 二次開發,實現無需插樁的 iOS monkey 自動化工具 fastmonkey,優點如下:

1.無需插樁!

2.高效率,每秒4-5個action!(真的很高效~)

3.輕量極簡!

詳細介紹請參考TesterHome連結 :

題外:我在本地run起來後,又從頭看了一遍此貼,包括zhangzhao大神的update和很多志同的小夥伴的評論和討論,收穫很大。

三.搭建FastMonkey的前置條件

1. Xcode9.2軟體:

用於匯入Faskmonkey工程及執行monkey測試.

注意:xcode自帶的swift是swift4,FastMonkey需要swift3.2,此點熟記於心。

2. iOS 第三方庫管理工具-Carthage:

 Carthage是iOS用於下載工程所依賴第三方庫的;如果沒有安裝請使用下面命令進行安裝

brew install  carthage(已安裝請忽略)

3. iOS開發者證書檔案:

 iOS開發者證書用於工程中的構建及簽名,證書可以是團隊的開發者證書也可以是免費的個人開發者證書,如何申請個人開發者證書請大家參考其他文件此處不再敖述

4. Fastmonkey工程程式碼從github上下載:

四.FastMonkey工程配置

1.clone FastMonkey工程

進入terminal,執行 git clone https://github.com/zhangzhao4444/Fastmonkey.git

2.切換工程分支到xcode9.2

進入FastMonkey資料夾下,執行git checkout xcode9.2

切換到xcode9.2分支

3.修改工程依賴包Cartfile檔案

Cartfile檔案位置

Cartfile檔案內容

!!修改時,注意等號左右的空格!!

4.下載工程依賴包

在terminal中進入到Fastmonkey/XCTestWD-master路徑下,執行如下命令:

carthage update --no-use-binaries

如上圖,下載和編譯依賴沒有任何錯誤即可進行下一步

注意:如果下載和編譯過程出現錯誤,請check以下兩點:

i. Cartfile檔案中各依賴的版本號是否正確;

ii.檢視log日誌,具體定位錯誤原因。

5.安裝ideviceinstaller庫

ideviceinstaller一個與安裝代理進行互動的工具。允許安裝、升級、解除安裝、歸檔、恢復iOS裝置,並列舉安裝或歸檔的應用程式。

將工程clone到本地後,按照github上的readme進行安裝。

6.配置XCTestWD專案工程:

雙擊子目錄XCTestWD中的XCTestWD.xcodeproj檔案,在xcode中開啟專案工程

開啟專案工程

6.1修改BundleID和設定開發者賬號

修改BundleID和設定開發者賬號

6.2修改XCTestWDUITests對應的Signing

修改XCTestWDUITests對應的Signing

6.3刪掉XCTestWD/XCTestWD-Bridging-Header.h

刪掉XCTestWD/XCTestWD-Bridging-Header.h

6.4新增XCTestWDMonkey.swfit到Server目錄

右鍵點選server目錄,然選擇"Add Files to "XCTestWD"

新增XCTestWDMonkey.swift檔案

6.5新增XCTestWDApplication.h與XCTestWDApplication.m檔案到PrivateHeaders目錄

選中PrivateHeaders然後點選右鍵在彈出的介面中選擇【Add Files to "XCTestWD"...】專案

選擇XCTestWDApplication.h與XCTestWDApplication.m然後點選Add

新增後

6.6修改XCTestWD專案工程程式碼中的配置值

6.6.1修改為非server模式

serverMode 值設定為false

說明:server模式需要 iproxy 和curl,筆者用到的是非server模式,直接在xcode中執行test。

6.6.2修改XCTestWDMonkey.swift檔案中的bundleID為被測App的值

修改被測APP的Bundle ID

6.6.3修改Monkey.swift檔案中的elapsedTime值確定你需要執行多長時間的Monkey,注意單位是秒

修改Monkey執行時長,此處為15h

五.進行Monkey測試

1.選擇裝置(筆者用的是真機)

xcode9.2不支援≥11.3的系統

2.執行Monkey測試

選擇【Product】--【Test】執行Monkey測試

3.截圖路徑位置

截圖路徑:/Users/olivia/Library/Developer/Xcode/DerivedData/XCTestWD-equyofhmagirhbgjwqrbrzrwbnrl/Logs/Test/Attachments

關於log,xcodetest介紹後,可以在控制檯看到輸出的log位置。

作者:慕幕醬 連結:https://www.jianshu.com/p/373c14d014f2 來源:簡書 簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。