1. 程式人生 > >iOS自動化探索(一)WebDriverAgent

iOS自動化探索(一)WebDriverAgent

WebDriverAgent

FaceBook推出的一款iOS移動測試框架, 支援真機和模擬器, 同時支援USB,

官方是這樣介紹的:

https://github.com/facebook/WebDriverAgent

 

Demo Video 

下載:

git clone https://github.com/facebook/WebDriverAgent.git

初始化指令碼:

雙擊開啟WebDriverAgent.xcodeproj

配置targets證書

配置WebDriverAgentRunner證書

這裡會提示ID不唯一

自己隨便加個字尾就可以了

再配證書就可以了

測試執行

 

選單欄選擇目標裝置

 

 

Scheme選擇WebDriverAgentRunner

 

最後執行 Product -> Test

會提示這個錯誤:

到設定中配置證書信任重試, App啟動後會馬上退出, 這個是正常的

看xcode控制檯是否有顯示裝置ip, 如果沒有的話使用以下方式開啟控制檯

 

控制檯:

 

通過上面給出的IP和埠,加上/status合成一個url地址。例如http://192.168.1.5:8100/status,然後瀏覽器開啟。

如果出現一串JSON輸出,說明WDA安裝成功了。

有些國產的iPhone機器通過手機的IP和埠還不能訪問,此時需要將手機的埠轉發到Mac上。

# 使用--HEAD安裝最新版本
$ brew install libimobiledevice --HEAD
$ iproxy 8100 8100

這時通過訪問http://localhost:8100/status確認WDA是否執行成功。

 

 

而inspector的地址是http://localhost:8100/inspector, inspector是用來檢視UI的圖層,方便寫測試指令碼用的

 

 

通常來說為了持續整合,能夠全部自動化比較好一些

# 解鎖keychain,以便可以正常的簽名應用,
PASSWORD="replace-with-your-password"
security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain

# 獲取裝置的UDID
UDID=$(idevice_id -l | head -n1)

# 執行測試
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test