iOS自動化探索(一)WebDriverAgent
阿新 • • 發佈:2018-12-25
WebDriverAgent
FaceBook推出的一款iOS移動測試框架, 支援真機和模擬器, 同時支援USB,
官方是這樣介紹的:
https://github.com/facebook/WebDriverAgent
下載:
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