iOS智能monkey實戰(zhàn)記錄
目前市面上幾款相對較好的 iOS 端穩(wěn)定性 Monkey 測試工具拭卿,針對我司應(yīng)用實戰(zhàn)記錄如下
工具名 | 實戰(zhàn)記錄 |
---|---|
FastMonkey | 僅支持 Xcode 8.x、9.x 和 10.1 版本放棄 |
SwiftMonkey | 配置運行報錯未能解決放棄 |
sjk_swiftmonkey | 只能運行5分鐘左右,且應(yīng)用越來越卡放棄 |
Fastbot-iOS | 成功運行且速度很快 |
Fastbot-iOS 的跨平臺方案
Fastbot-iOS是字節(jié)跳動開源的自動化測試方案。Fastbot-iOS 端上架構(gòu)采用輕量且必要的 WDA 私有接口必怜、插樁 SDK(可選关带,擴展提供額外的插件能力)以及基于純圖像識別的技術(shù)方案治专。
源碼下載地址:https://github.com/bytedance/Fastbot_iOS推捐。
環(huán)境搭建
- osx 環(huán)境
- mac機器安裝xcode
- 安裝 cocoapods: 在終端中執(zhí)行 sudo gem install cocoapods -v=1.8.1 故痊, 并按提示輸入設(shè)備登錄密碼。 若安裝異常可參考文檔方式安裝
- 初始化項目
- 在終端 cd 到當前項目目錄下, 然后執(zhí)行 cd Fastbot-iOS && pod install --repo-update
- 雙擊使用 XCode 打開項目目錄下 Fastbot-iOS/Fastbot-iOS.xcworkspace
-
設(shè)置簽名
- xcode需登錄賬號愕秫,且需與測試手機登錄同一個apple id賬號
- 信任設(shè)備&Runner
-
連接手機到mac,mac點擊如下圖圈選區(qū)域選擇所連接的手機焰络,并在手機彈出的對話窗中選擇信任
-
執(zhí)行 pingTestNetwork戴甩,待 FastbotRunner 安裝成功后, 然后在手機 設(shè)置-通用-描述文件與設(shè)備管理-開發(fā)者應(yīng)用中信任 FastbotRunner的證書闪彼。
- 執(zhí)行 pingTestNetwork(此處可參照步驟3-2)甜孤,此時在手機上點擊 FastbotRunner-Runner App,彈出黑色界面后畏腕,等待 30s 左右缴川,點擊 Home鍵回到桌面,此時彈出是否打開網(wǎng)絡(luò)權(quán)限的彈窗描馅,選擇無線網(wǎng)絡(luò)或蜂窩網(wǎng)即可把夸。直到 Xcode 運行 log 中出現(xiàn) ping network success 則打開網(wǎng)絡(luò)成功,如果不成功可嘗試重復(fù)步驟4
運行測試
- 待測app安裝到設(shè)備中铭污,并且可正常運行
-
點擊如下圖一所示圈選區(qū)域彈出選擇框恋日,選擇Edit Scheme,該頁面編輯見下圖二
在運行 Scheme 中設(shè)置測試參數(shù)嘹狞,參數(shù)含義參照下表:
字段 | 說明 | 示例 |
---|---|---|
BUNDLEID | 被測試App的 Bundle ID | com.apple.Pages |
dataport | 端口號 | 9797 |
duration | 測試時長岂膳,單位分鐘 | 240 |
launchenv | 啟動測試App的環(huán)境變量,一般為空磅网,或者以 ':'分割的key=value形式 | isAutoTestUI=1:channel=AutoTest |
throttle | 操作間隔谈截,單位毫秒 | 300 |
-
執(zhí)行測試,點擊如下圖圈選按鈕涧偷,然后可在手機上觀測到被測試App已經(jīng)被拉起簸喂,并開始自動執(zhí)行操作。
-
獲取崩潰日志:點擊待測設(shè)備設(shè)置-隱私-分析-分析數(shù)據(jù)嫂丙,查看是否跟如下圖所示關(guān)鍵字的崩潰日志
-
若需暫停測試可點擊如下圖所示按鈕