iOS 真機調試如何安裝 WebDriverAgent


近期,微信跳一跳外掛火了,看了作者的思路和教程,感覺挺簡單,不過在實現(照葫蘆畫瓢)的過程中,遭遇到不少問題。

WDA 工作原理

其中之一便是,真機調試 WDA,參考 iOS 真機如何安裝 WebDriverAgent · TesterHome,下面就按照這篇教程,各個擊破真機調試WDA 的問題:

開始

首先按照教程,盡量更新下Xcode 的版本,從github 上下載WDA 的最新版本,直接克隆到本地

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

切換到WDA 根目錄,運行初始化腳本

cd WebDriverAgent
./Scripts/bootstrap.sh

以上腳本是安裝依賴庫,同時使用npm 打包響應的js 文件。感興趣的同學可以瀏覽腳本文件,同級目錄下還有一個build.sh,也可以直接執行該腳本來編譯安裝WDA。當然,初次接觸,希望一步步操作的話會好一些。

如果中途出現錯誤,需要先解決,否則接下來的操作都無法進行。

編譯運行

接下來,通過Xcode 打開WebDriverAgent.xcodeproj 這個文件。

可以先嘗試編譯一下,方便定位目前存在的問題,使用組合鍵或者通過鼠標操作

command + b

這個時候,肯定會有提示配置證書的問題,真機調試證書是必須設置的。可以設置個人開發者免費證書,或者其他付費證書。

然后選擇WebDriverAgentRunner 這個Target 和 真機設備,執行測試。組合鍵command+u,或從菜單欄Product 中通過鼠標操作

一切正常的話,手機上會出現一個無圖標的WebDriverAgent應用,啟動之后,馬上又返回到桌面。這是很正常的不要奇怪。

應用教程中的原話,上述現象正常,但是也有可能會在控制台報錯,從而無法打印出ip 地址。

當把所有的流程重新捋一遍,你會發現,根本發現不了哪一步做錯了,我遇到的情況就是,一直停留在控制台的那里,不會出現奇跡。經過一番搜索,發現有個帖子里的警告提示,我決定放手一搏!

你們以為這樣就能運行嗎?

並不是!
最關鍵一步來了:

你要用數據線連着電腦重啟你的手機!!!!

你要用數據線連着電腦重啟你的手機!!!!

你要用數據線連着電腦重啟你的手機!!!!

重要的話要說三遍!

反正是在保證數據線連接的情況下,重啟一下手機,然后重新build 就成功看到ip 地址!而且在以后操作中,這種情況還會復現,所以重啟手機吧,不用浪費無辜的時間研究~

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

端口轉發

有些國產的iPhone機器通過手機的IP和端口還不能訪問,此時需要將手機的端口轉發到Mac上。關於這個問題,我是通過端口轉發才看到效果,所以你也應該會遇到同樣的問題。

$ brew install imobiledevice
$ iproxy 8100 8100 [4c47766e78f9d84e1da55b07d69f2747e9fb4f71]

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

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

注:端口轉發后,域名不再是IP 地址,而是你的本機IP或者使用localhost+ 端口號

最終效果

完成上述操作以后,可以隨意開啟應用內的某個應用,就能看到如下效果。

這里結合 Appium Desktop 一起食用,效果更佳~

Good luck!!!

實戰

相信你會對這個感興趣,通過WDA 做自動化測試,恩!

接下來演示一下怎么用ATX打開iPhone自帶的計時器,開始然后退出

#! /usr/local/bin/python3
# -*- coding: utf-8 -*-

import atx

d = atx.connect("http://localhost:8100")
d.start_app("com.apple.mobiletimer")
d(text=u'計時器').click()
d(text=u'開始計時').click()
d(text=u'取消').click()
d.stop_app()

執行以上代碼即可體驗

結尾

最后牆裂推薦基於Python自動化框架地址 https://github.com/NetEaseGame/ATX

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

參考鏈接

ATX 文檔 - iOS 真機如何安裝 WebDriverAgent

Macaca App Inspector 2.0 發布

Appium Desktop 簡單介紹 —— xcodebuild failed with code 65 解決

WebDriverAgent 天坑記

啟動 WebDriverAgent 后再啟動 appium,運行腳本一直卡在 Waiting for WebDriverAgent to start on device

ATX 支持 iOS10 手機測試 方法說明


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM