IOS測試-Fastmonkey

 

目錄:git

1、背景github

2、Fastmonkey介紹swift

3、Fastmonkey操做前準備xcode

4、Fastmonkey工程配置過程網絡

5、執行Monkey測試app

6、FAQ工具

 

Fastmonkey實踐

 


1、背景:

       因衆所周知的緣由隨着Xcode從7.x升級到8.x或9.x,咱們沒法再使用Instrument的uiautomation腳本對iOS應用進行Monkey測試,因此咱們一直期待行業測試與開發大牛產出新的Monkey開源工具,在這期間咱們也使用過了一些技術大神開發的基於appium或者基於macaca的開源Monkey測試工具可是都有這樣或者那樣的問題好比:配置過於複製,上手慢,執行速度達不到要求、有的還須要進行App源碼插莊等問題,直到Faskmonkey的出現它集成了衆家之長,已經基本能知足咱們平常的iOS應用壓力測試了。post

2、Fastmonkey介紹:

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

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

Faskmonkey測試工具介紹

項目開源地址:

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

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

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下載

 

4、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執行時長

5、執行Monkey測試

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

 
從下拉列表中選擇XCTestWDUITests與手機

2)開始執行Monkey

 

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

6、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

相關文章
相關標籤/搜索