MAC電腦上 Xcode版本:10.1和11.1
1安裝Python 3.6,node.js8.1.1(具體操作步驟不詳細敘述了)
2安裝libimobiledevice工具包
brew uninstall --ignore-dependencies libimobiledevice brew uninstall --ignore-dependencies usbmuxd brew install --HEAD usbmuxd brew unlink usbmuxd brew link usbmuxd brew install --HEAD libimobiledevice brew install ideviceinstaller brew link --overwrite ideviceinstaller
如果在安裝中提示xcode版本太低不能安裝可以把xcode版本切換成11.1;
3下載安裝atxserver2-ios-provider, 並初始化其中的ATX-WebDriverAgent
由於git下載太慢我是網頁直接down下來的,其中ATX-WebDriverAgent需要點擊去額外下在下來;
下載ATX-WebDriverAgent後把裏面內容放到ios provider的文件夾下;
# clone code and init submodule(appium WebDriverAgent) git clone https://github.com/openatx/atxserver2-ios-provider --recursive cd atxserver2-ios-provider # run the following commands if you forgot --recursive # git submodule init # git submodule update # install dependencies pip3 install -r requirements.txt npm install # initialize atx WebDriverAgent (fork of appium webdriveragent) cd ATX-WebDriverAgent brew install carthage ./Scripts/bootstrap.sh
然後找臺手機接到蘋果電腦上。 按照這個文檔https://testerhome.com/topics/7220 對WebDriverAgent項目進行下設置。 有條件的話還是弄一個蘋果的開發者證書比較方便。個人可以用免費的證書(需要修改BundleID),另外隔幾天證書就會過期。
每臺設備都需要先用xcode,註冊下,能跑起來WDA test,弄完之後接着往下看。
# export USER_PORT=8100 # WDA監聽端口 # export MJPEG_SERVER_PORT=9100 # MJPEG-SERVER端口 # 避免命令行運行出錯,運行一次即可 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer # 解鎖keychain,防止簽名權限不足問題 security unlock-keychain ~/Library/Keychains/login.keychain # security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain # test if wda can run? # xcodebuild -project WebDriverAgent.xcodeproj \ # -scheme WebDriverAgentRunner \ # -destination 'platform=iOS Simulator,name=iPhone 6' \ # test SERVER_URL="http://localhost:4000" # 這裏修改成atxserver2的地址 python3 main.py -s $SERVER_URL
連接iOS設備
- 確保設備已經解鎖
- 使用數據線將蘋果手機連接到電腦上(Mac)
- 當出現
是否信任該設備時
選擇是
設備開啓自動化
- 按下HOME -> 設置(Settings) -> 開發者(Developer) ->
Enable UI Automation
- 回到 設置(Settings) -> Safari瀏覽器 -> 翻到最後 高級(Advanced) -> 打開 Web檢查器(Web inspector)
- 設置(Settings) -> 通用 -> 設備管理 -> 點擊開發者應用中的欄目
持續運行的設備設置
默認情況下設備會鎖屏的,而當設備鎖屏的時候,就自動化不了了。最簡單的一個辦法就是保持設備常亮
- Home -> 設置(Settings) -> 顯示與亮度(Settings & Brightness)
- 亮度調到低(可以是最低)
- 自動鎖定(Auto-Lock) 設置爲 永不(Never)
其中比較需要注意的是,用xcode運行WDA時不要運行IOS provider,當WDA可以正常運行後關閉XCode,關閉端口轉發,
去運行IOS Provider;
如果正常連接是可以遠程操控手機的,如果只能顯示畫面說明WDA構建除了問題,
我用Xcode11.1構建是平臺無法操控手機,只能顯示畫面,可以連接,於是該用切換Xcode版本變成10.1;
構建失敗或者是構建成功也無法連接平臺時看一下Xcode環境
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
有沒有你的手機IOS版本的調試包,沒有就去下載個放進去
https://blog.csdn.net/qq_34696203/article/details/102857508
我的環境是Xcode10.1和11.1,iphone6plus,IOS12.2;
目前ATX2貌似只能支持ios12以上的手機