本文根據 ATX 文檔 - iOS 真機如何安裝 WebDriverAgent 進行實踐
還有以下資料可供參考:
- https://github.com/openatx/facebook-wda
- https://github.com/NetEaseGame/ATX
- https://github.com/facebook/WebDriverAgent
注意:盡量更新Xcode到最新版本,iphone版本大于9.3
Xcode版本:10.1
iphone版本:12.0.1
OS版本:10.13.6
實踐開始
建立一個目錄,從 git 上面下載下傳 WDA 項目代碼到本地
git clone https://github.com/facebook/WebDriverAgent

運作初始化腳本
./Scripts/bootstrap.sh
出現報錯資訊如下:
原因:需要
carthage
下載下傳相關的依賴,本機未安裝
解決:通過
brew
下載下傳安裝:
brew install carthage
下載下傳成功後繼續初始化腳本,又出現報錯,日志如下:
原因:需要使用
npm
打包響應的 js 檔案,本機未安裝
解決:通過
brew
下載下傳安裝npm(ps:
brew
真是個好東西):
brew install npm
安裝成功後,繼續初始化腳本
./Scripts/bootstrap.sh
媽耶,這回是成功了吧!
Xcode相關操作
- 進入項目路徑,輕按兩下打開
,打開xcode後按照下方數字序号依次點選,勾選第5項目,彈框内點選WebDriverAgent.xcodeproj
。Enable Automatic
IOS UI自動化測試實踐:pyhton-wda 環境搭建篇 - Team 欄添加個人賬戶,選中。
IOS UI自動化測試實踐:pyhton-wda 環境搭建篇 - 開啟
的簽名設定,更上面操作類似WebDriverAgentRunner
IOS UI自動化測試實踐:pyhton-wda 環境搭建篇 - 個人免費版的證書,還需要修改下
的WebDriverAgent
,随便加字尾,不要跟别人重複就好BundleID
IOS UI自動化測試實踐:pyhton-wda 環境搭建篇 - 菜單欄選擇裝置名
IOS UI自動化測試實踐:pyhton-wda 環境搭建篇 -
選擇Scheme
WebDriverRunner
IOS UI自動化測試實踐:pyhton-wda 環境搭建篇 - 最後運作
->Product
,輸入電腦密碼,手機上會出現一個無圖示的Test
應用,啟動之後,馬上又傳回到桌面。WebDriverAgent
實際到這一步我出現了報錯,日志資訊如下:
Verify the Developer App certificate for your account is trusted on your device. Open Settings on Lanzy and navigate to General -> Device Management, then select your Developer App certificate to trust it.
原因:開發者人員程式未受信任
解決:進入手機
設定
->
通用
->
描述檔案與裝置管理
->
點選開發者應用
,信任一下就好了。
重新test一下,會發現控制台界面出現裝置的IP。加上
/status
合成一個url位址,例如
http://10.0.0.1:8100/status
,然後浏覽器打開,如果出現一串JSON輸出,說明WDA安裝成功了。
實際情況是,我到這一步通路這個位址無響應:
原因:部分國行的iphone機器通過IP和端口還不能通路
解決:需要将手機的端口轉發到Mac上
# 使用--HEAD安裝最新版本
$ brew install libimobiledevice --HEAD
# 使用 iproxy --help 可以查到更具體的用法
$ iproxy 8100 8100
這時通過通路
http://localhost:8100/status
,确認WDA是否運作成功,正确通路頁面如下:
inspector
是用來檢視UI的圖層,友善編寫測試腳本,位址是:
http://localhost:8100/inspector
,就長這個樣子~
WDA到這裡就搭建完成啦~接下來還需要安裝wda的用戶端:
pip install --pre facebook-wda
如果報錯,停止
iproxy 8100 8100
,再繼續安裝。。。