乾貨|iOS自動化測試之基於模擬器的自動化測試
本文節選自霍格沃茲測試學院內部教材
本章節主要講解 WebDriverAgent 環境搭建以及如何通過 iOS模擬器完成自動化。
WebDriverAgent簡介
WebDriverAgent 是在 iOS 客戶端啟動了 WebDriver 的 Server,藉助這個 server,可以遠端控制 iOS
裝置進行自動化測試。
Appium 早期支援 UIAutomation,但在 Xcode8 移除 UIAutomation 後,專案增加支援 WebDriverAgent 。所以
Appium 對 iOS 的測試主要依賴於 facebook 的 WebDriverAgent(現 WebDriverAgent 已轉由 Appium
維護)。
參考連結:
https://github.com/appium/WebDriverAgent
安裝WebDriverAgent
Appium 包含 WebDriverAgent 環境,所以僅安裝 Appium 環境即可
初始化專案
在 WebDriverAgent 目錄下執行:./Scripts/bootstrap.sh
,一般 Appium 自帶的 WebDriverAgent
目錄為:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium- webdriveragent
WebDriverAgent
選擇 WebDriverAgentRunner 和對應的裝置,設定對應的 Team、certificate,然後點選“執行”即可。
build 成功後,在選單欄 product -> Test 即可
** 注意: 需在手機上信任 WebDriverAgent **
Appium的Capability設定
在模擬器下,需要設定以下引數;如果是測試手機瀏覽器,可以使用 browserName 代替 app,並把值設定為 Safari 。
Capability name | value | describe |
---|---|---|
automationName | XCUITest | 使用引擎的名字 |
platformName | iOS | 作業系統 |
deviceName | iPhone 11 Pro | 裝置名 |
platformVersion | 11.3 | 系統版本 |
app | xx/demo.ipa | apk、.ipa等的載入路徑 |
根據以上表格內的引數設定對應的 Capability
通過如下命令獲取本機可用的 deviceName
instruments -s devices
啟動 Session 後,看到如下介面就表示成功了。
接著就可以直接啟動 inspector 做測試了。
常見問題
Unable to launch WebDriverAgent because of xcodebuild failure: "ENOENT: no
such file or directory, open
'/Applications/Appium.app/Contents/Resources/app/node_modules/appium-
xcuitest-driver/WebDriverAgent/PrivateHeaders/XCTest/XCUICoordinate.h'
-
原因:WDA 的依賴不對
-
解決方法:進入 appium 的目錄執行
npm install
語句,然後再重新啟動,例如: -
cd /Applications/Appium.app/Contents/Resources/appnpm install
從今天開始,我們將會給大家分享iOS自動化內容,如果有想了解的知識點可以在下方留言哦~
** 推薦學習**
內容全面升級,4 個月 20+ 專案實戰強化訓練,資深測試架構師、開源專案作者親授 BAT 大廠前沿最佳實踐,
帶你一站式掌握測試開發必備核心技能( 對標阿里P6+,年薪50W+ )! 直推 BAT 名企測試經理,普遍漲薪 50%+!
⬇️ 點選“閱讀原文”,提升測試核心競爭力!
閱讀原文