IOS測試-Fastmonkey

來源:互聯網
上載者:User

標籤:ppi   cimage   eve   背景   zha   ==   地址   strip   複製   

目錄:

一、背景

二、Fastmonkey介紹

三、Fastmonkey操作前準備

四、Fastmonkey工程配置過程

五、執行Monkey測試

六、FAQ

 Fastmonkey實踐

 

一、背景:

       因眾所周知的原因隨著Xcode從7.x升級到8.x或9.x,我們無法再使用Instrument的uiautomation指令碼對iOS應用進行Monkey測試,所以我們一直期待行業測試與開發大牛產出新的Monkey開源工具,在這期間我們也使用過了一些技術大神開發的基於appium或者基於macaca的開源Monkey測試載入器但是都有這樣或者那樣的問題比如:配置過於複製,上手慢,執行速度達不到要求、有的還需要進行App源碼插莊等問題,直到Faskmonkey的出現它整合了眾家之長,已經基本能滿足我們日常的iOS應用壓力測試了。

二、Fastmonkey介紹:

Fastmonkey是zhangzhao大神最近開源的一款iOS應用Monkey測試載入器,基於 XCTestWD,swiftmonkey 二次開發,實現無需插樁的 iOS monkey 自動化工具 fastmonkey,優點如下:

1.無需插樁!2.高效率,每秒4-5個action!4.輕量極簡!詳細介紹請參考TesterHome連結 :

Faskmonkey測試載入器介紹

項目開源地址:

Xcode9.x(https://github.com/zhangzhao4444/Fastmonkey )

Xcode8.3.x(https://github.com/zhangzhao4444/Fastmonkey/tree/xcode8.3 )

三、Fastmonkey操作前準備:

注意:本文所述操作步驟都是基於Xcode8.x或者Xcode9.x的版本, 注意針對不的Xcode版本下載不同項目工程的、操作前準備:

1)Xcode8.3.x /Xcode9.x軟體;

2)iOS 第三方庫管理工具-Carthage;

3)iOS開發人員認證檔案;

4)Fastmonkey工程代碼從github上下載;

詳細說明:

1)Xcode8.3/Xcode9.x是用於匯入Faskmonkey工程及運行monkey測試;

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

brew install  carthage

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

4)工程代碼直接從https://github.com/zhangzhao4444/Fastmonkey下載

 

四、Fastmonkey工程配置過程

配置是經過我們驗證過了,不過因為每一個人的手機與Xcode版本問題可能會一些差異,大家也可以參考TesterHome上的fastmonkey 自我掃盲貼

Fastmonkey的掃盲文章

1.解壓下載後的Fastmonkey-xxx.zip的檔案,開啟終端進入解壓後的子目錄XCTestWD-master 進入解壓後的子目錄XCTestWD-master
2.執行下列步驟下載工程所依賴的包 :

1)修改目錄中的Cartfile檔案,將github "SwiftyJSON/SwiftyJSON" 改為github "SwiftyJSON/SwiftyJSON"  ==  3.1.4   修改github "tadija/AEXML"為github "tadija/AEXML" == 4.1.0如:

 

 修改目錄中的Cartfile檔案

2)下載工程所依賴的包

$  carthage update

PS:如果此步驟出現錯誤請參考後面的FAQ

 下載工程所依賴的包,可能需要一些時間具體要依賴於您的網路速度,請耐心等待完成

 

3.配置XCTestWD項目工程:

雙擊子目錄XCTestWD中的XCTestWD.xcodeproj檔案開啟項目工程

 

  

 

1)修改Product ID,團隊開發人員認證需要修改,個人免費開發人員認證可跳過此步驟

a. 修改XCTestWD所需要的產品ID如com.xxxx.XCTestWD.XCTestWD

 

 xxx為認證所定義的產品ID首碼一般是公司或者企業的網域名稱

 

b.修改XCTestWDUITests所需要的產品ID如com.xxx.XCTestWD.XCTestWD

 

 xxx為認證所定義的產品ID首碼一般是公司或者企業的網域名稱

 

2)修改簽名帳號(個人開發Team與團隊認證設定是不一樣的):

a1.團隊開發人員認證如:

 a1.修改XCTestWD Code Signing為相應的帳號 a1.修改XCTestWD Code Signing為相應的Team帳號

 

a2.同a1過程修改XCTestWDUITests的Code Signing帳號

 

b.個人開發人員認證如:

b1.修改XCTestWDUITests的Code Signing帳號

  

b2.同b1修改XCTestWD的Code Signing帳號

 

3)添加XCTestWDMonkey.swfit到Server目錄

 

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

 

 選擇【XCTestWDMonkey.swift】檔案添加到Server

 

4)清空XCTestWD的Objective-C Bridging Header選項中的值

 清空Objective-C Bridging Header選項中的值 清空Objective-C Bridging Header選項4.修改XCTestWD項目工程代碼中的配置值:

1)修改運行模式,將XCTestWDRunner.swift檔案中的serverMode設定為false如

 修改此項為false後,這樣Monkey就可以直接從Xcode中運行,不需要再使用額外的命令了

2)修改XCTestWDMonkey.swift檔案中的bundleID為被測App的值的如:

 改為自己App的實際BundleID,如何尋找被測App的BundleID請百度一下這裡不再敖述

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

 

 修改Monkey執行時間長度五、執行Monkey測試

1)選擇要執行的手機與Target注意App事先安裝到被測試手機上,手機已經插入Mac電腦USB介面

 從下拉式清單中選擇XCTestWDUITests與手機

2)開始執行Monkey

 

 選擇【Product】--【Test】執行Monkey測試六、FAQ:

1. 如果carthage update的時候如果報這個錯xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH需要在Xcode中 Preferences > Locations裡設定Command Line Tools為自己使用版本的Xcode --謝謝光暈_9c54的提醒

2.如果是Xcode9.x可能會出現XCTestWDApplication.h file not found錯誤如,請按照下面方法解決:

 

 XCTestWDApplication.h file not found錯誤

添加XCTestWDApplication.h與XCTestWDApplication.m檔案到PrivateHeaders目錄,如

 

 選中PrivateHeaders然後點擊右鍵在彈出的介面中選擇【Add Files to "XCTestWD"...】項目 選擇XCTestWDApplication.h與XCTestWDApplication.m然後點擊Add XCTestWDApplication.h與XCTestWDApplication.m被添加到了PrivateHeaders中

2.第一次執行時可能會報錯,因為需要在手機上信任你的個人認證或者團隊認證,第二次執行就不會了。一般位於手機【設定】--【通用】--【描述檔案】中

3.每次運行完成後,在Xcode的Debug Ouput框中會輸出相應的日誌與儲存位置,每次運行完成後日誌會報錯,這個錯誤是由於Fastmonkey的Bug,參加下面Issue連結,主要原因是當執行時間長度一到時,Monkey測試自行停止,這個停止是強退的,但Xctest沒有正常退出造成的,目前還沒有找到好的解決方案。

https://github.com/zhangzhao4444/Fastmonkey/issues/12

 

IOS測試-Fastmonkey

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.