1. 程式人生 > 其它 >乾貨|iOS自動化測試之基於模擬器的自動化測試

乾貨|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%+!

⬇️ 點選“閱讀原文”,提升測試核心競爭力!

閱讀原文