1. 程式人生 > 其它 >IOS真機自動化操作環境搭建

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

  1. 下載 WebDriverAgent
    https://github.com/appium/WebDriverAgent
  2. 開啟專案,找到WebDriverAgent.xcodeproj,雙擊開啟
  3. 登入Apple ID
  4. 引數設定
    需要設定三個位置


  5. 選擇真機
    Product---Destination---myphone
  6. 執行工程

    此時會在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/