IOS真機自動化操作環境搭建
環境版本
IMAC: Ventura 13.0.1 (當前最新)
XCODE: Version 14.1 (當前最新)
Iphone7: 15.7.1
iTunes: windows64 12.12.6.1(當前最新)
基本架構
1、手機端的WDA Runner(WebDriverAgent)類似於appium測試框架中的 UIAutomator Server,
將接收到的控制命令轉換為XCUITest 相關API操作,實現對應用介面的控制。WebDriverAgent應用需要通過xcode編譯安裝。
2、WDA的啟動可以使用阿里開源的tidevice工具。
3、Language Bindings為不同語言的自動化測試指令碼,比如基於python語言的facebook-wda,基於go語言的gwda等。
usbmuxd
usbmux通訊協議:實現 Mac/Windows/Linux與 iOS裝置服務間的通訊
Mac端
usbmuxd 是usbmux協議在macOS平臺的上實現,也是macOS系統上的一個守護程序,它隨著系統的啟動而啟動。用於在USB協議上實現多路TCP連線,將USB通訊抽象為TCP通訊。蘋果的iTunes、Xcode,都直接或間接地用到了這個服務。
Linux 端
本身是沒有 usbmuxd的,不過都有開源專案的實現,可以直接使用
安裝:sudo apt-get install usbmuxd
啟動:sudo systemctl start usbmuxd
Windows端
另外依賴 AppleApplicationSupport和AppleMobileDeviceSupport 兩個服務,安裝Itunes 環境即可安裝對應服務。
WDA安裝
Iphone端安裝需要:MAC電腦、Xcode、WebDriverAgent
- 下載 WebDriverAgent
https://github.com/appium/WebDriverAgent - 開啟專案,找到WebDriverAgent.xcodeproj,雙擊開啟
- 登入Apple ID
- 引數設定
需要設定三個位置
- 選擇真機
Product---Destination---myphone
- 執行工程
此時會在iphone手機上看到WebDriverAgent
啟動WDA
tidevice
可以通過tidevice在windows上啟動iphone端的WebDriverAgent
github地址:https://github.com/alibaba/taobao-iphone-device
# Recommend 安裝
pip3 install -U "tidevice[openssl]"
# 啟動
tidevice -u 2ed5c397b015exxxxxxxx065ce4dece468 wdaproxy -B com.facebook.WebDriverAgentRunner.xienova.xctrunner --port 8100
自動化操作
Facebook-wda
Facebook-wda實現的功能類似於Android中的uiautomator2,可以實現對手機的自動化操作
github地址:https://github.com/openatx/facebook-wda
pip3 install -U facebook-wda
Xcode/MAC OS/IOS版本對應關係
可以在蘋果官網檢視https://developer.apple.com/cn/support/xcode/