最早知道WebDriverAgent還是通過社區(qū)里的一篇文章?WebDriverAgent簡介(PS:社區(qū)真是偉大重虑,什么都有)
通過這篇文章希望能讓初次接觸WDA的你掷漱,少走一些彎路。
WDA在Github的首頁上有一個很簡單的安裝說明?https://github.com/facebook/WebDriverAgent马昙,參考這個桃犬,我再增加一些配圖,以及自己使用過程中的一些體會行楞。
開始
盡量升級Xcode到最新版攒暇,保持iPhone的版本大于9.3
從github上下載代碼
git clone https://github.com/facebook/WebDriverAgent
運行初始化腳本
./Scripts/bootstrap.sh
該腳本會使用Carthage下載所有的依賴,使用npm打包響應(yīng)的js文件子房、
安裝過程中我出現(xiàn)了個問題:
形用,原因是我沒安裝node,去下載安裝一下即可证杭。
node文件地址:http://91youzhi.com/mall/product/node-v7-6-0-pkg
下載安裝后再執(zhí)行./Scripts/bootstrap.sh
執(zhí)行完成后田度,直接雙擊打開WebDriverAgent.xcodeproj這個文件。
設(shè)置證書
因為安裝到真機上都是需要證書簽名的躯砰,用免費的證書我沒有搞定每币,最后用的還是99美元的開發(fā)者證書。
畫圈的地方琢歇,從左向右依次點擊兰怠。最后Team那一欄,選擇你買到的開發(fā)者證書帳號李茫。(個人證書也可以)
接著在TARGETS里面選中WebDriverAgentRunner揭保,用同樣的方法設(shè)置好證書
如果是免費版的個人證書,還需要修改下WebDriverAgent的BundleID魄宏,隨便加點后綴秸侣,只要不跟其他人的重名就好 (這里參考了macaca的一篇文章?https://testerhome.com/topics/8085?)
運行與測試
菜單欄選擇目標(biāo)設(shè)備
Scheme選擇WebDriverAgentRunner
最后運行 Product -> Test
一切正常的話,手機上會出現(xiàn)一個無圖標(biāo)的WebDriverAgent應(yīng)用宠互,啟動之后味榛,馬上又返回到桌面。這是很正常的不要奇怪予跌。
此時控制臺界面可以看到設(shè)備的IP搏色。如果看不到的話,使用這種方法打開
通過上面給出的IP和端口券册,加上/status合成一個url地址频轿。例如http://10.0.0.1:8100/status垂涯,然后瀏覽器打開。如果出現(xiàn)一串JSON輸出航邢,說明WDA安裝成功了耕赘。
端口轉(zhuǎn)發(fā)
有些國產(chǎn)的iPhone機器通過手機的IP和端口還不能訪問,此時需要將手機的端口轉(zhuǎn)發(fā)到Mac上膳殷。
$ brew install imobiledevice
$ iproxy 8100 8100
使用iproxy --help?可以查到更具體的用法操骡。 這時通過訪問http://localhost:8100/status確認(rèn)WDA是否運行成功。
而inspector的地址是http://localhost:8100/inspector秽之, inspector是用來查看UI的圖層当娱,方便寫測試腳本用的
使用終端替代Xcode
通常來說為了持續(xù)集成吃既,能夠全部自動化比較好一些
# 解鎖keychain考榨,以便可以正常的簽名應(yīng)用,
PASSWORD="replace-with-your-password"
security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain
# 獲取設(shè)備的UDID
UDID=$(idevice_id -l | head -n1)
# 運行測試
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test
其他問題
論壇里有帖子說要修改BundleID鹦倚,我試了試河质,就算不改也挺正常的。
還有一些奇怪的問題震叙,比如
Failed to authorize rights (0x1) with status: -60007
The bundle “WebDriverAgentRunner” couldn’t be loaded because it is damaged or missing necessary resources
在這個官網(wǎng)Wiki里面可以找到解決辦法?https://github.com/facebook/WebDriverAgent/wiki/Common-Issues
如果汗流浹背掀鹅,弄了很久還是沒搞定。嘗試下這些步驟
git pull更新WebDriverAgent的代碼
卸載手機上的WebDriverAgent
更新Xcode
更新Mac系統(tǒng)
重啟Mac
結(jié)尾
最后附上基于Python自動化框架地址https://github.com/NetEaseGame/ATX
Xcode問題多多媒楼,愿WDA與你同在乐尊。