【轉自Testerhome】iOS 真機如何安裝 WebDriverAgent

開始

儘可能升級Xcode到最新版,保持iPhone的版本大於9.3git

從github上下載代碼github

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

運行初始化腳本npm

./Scripts/bootstrap.sh

該腳本會使用Carthage下載全部的依賴,使用npm打包響應的js文件bootstrap

執行完成後,直接雙擊打開WebDriverAgent.xcodeproj這個文件。xcode

設置證書

由於安裝到真機上都是須要證書籤名的,用免費的證書我沒有搞定,最後用的仍是99美圓的開發者證書瀏覽器

 

 

 

畫圈的地方,從左向右依次點擊。最後Team那一欄,選擇你買到的開發者證書賬號。(我的證書也能夠)框架

接着在TARGETS裏面選中WebDriverAgentRunner,用一樣的方法設置好證書ide

 

 

若是是免費版的我的證書,還須要修改下WebDriverAgent的BundleID,隨便加點後綴,只要不跟其餘人的重名就好 (這裏參考了macaca的一篇文章 https://testerhome.com/topics/8085 )測試

 

 

運行與測試

菜單欄選擇目標設備ui

 

 

Scheme選擇WebDriverAgentRunner

 

 

最後運行 Product -> Test

一切正常的話,手機上會出現一個無圖標的WebDriverAgent應用,啓動以後,立刻又返回到桌面。這是很正常的不要奇怪。

此時控制檯界面能夠看到設備的IP。若是看不到的話,使用這種方法打開

 

 

經過上面給出的IP和端口,加上/status合成一個url地址。例如http://10.0.0.1:8100/status,而後瀏覽器打開。若是出現一串JSON輸出,說明WDA安裝成功了。

端口轉發

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

brew install libimobiledevice
iproxy 8100 8100

執行轉發方法後控制檯顯示:waiting for connection。如圖所示:

使用iproxy --help 能夠查到更具體的用法。 這時經過訪問http://localhost:8100/status確認WDA是否運行成功。

而inspector的地址是http://localhost:8100/inspector, inspector是用來查看UI的圖層,方便寫測試腳本用的

注:若是localhost不成功,輸入http://127.0.0.1:8100/status。

http://127.0.0.1:8100/inspector,就能夠獲取到元素信息了

 

 

使用終端替代Xcode

一般來講爲了持續集成,可以所有自動化比較好一些

# 解鎖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

其餘問題

論壇裏有帖子說要修改BundleID,我試了試,就算不改也挺正常的。
還有一些奇怪的問題,好比

  1. Failed to authorize rights (0x1) with status: -60007
  2. The bundle 「WebDriverAgentRunner」 couldn’t be loaded because it is damaged or missing necessary resources

在這個官網Wiki裏面能夠找到解決辦法 https://github.com/facebook/WebDriverAgent/wiki/Common-Issues

若是汗流浹背,弄了好久仍是沒搞定。嘗試下這些步驟

  1. git pull更新WebDriverAgent的代碼
  2. 卸載手機上的WebDriverAgent
  3. 更新Xcode
  4. 更新Mac系統
  5. 重啓Mac

結尾

最後附上基於Python自動化框架地址https://github.com/NetEaseGame/ATX

Xcode問題多多,願WDA與你同在。

原文連接

相關文章
相關標籤/搜索