用幾句命令或代碼就能遠(yuǎn)程控制手機(jī),越獄手機(jī)肯定是沒有問題,基本原理還是SSH径筏,有興趣的自己可以去試試簸搞。幸好有Facebook的WebDriverAgent雕什,通過它可以實(shí)現(xiàn)遠(yuǎn)程控制手機(jī)建峭,一般自動(dòng)化測試用的多囤耳,其它用途需要自己探索捏顺。如果想要python調(diào)用WebDriverAgent的功能裂明,那么還需要facebook-wda椿浓,facebook-wda的功能還是挺多的。
環(huán)境
macOS 10.12.5闽晦、 python 2.7扳碍、homebrew、pip仙蛉、Xcode 8.33
安裝WebDriverAgent
- 從github上下載WebDriverAgent笋敞,
git clone https://github.com/facebook/WebDriverAgent
或者直接下載ZIP壓縮包 - 在WebDriverAgent文件路徑下執(zhí)行
./Scripts/bootstrap.sh
-
Xcode打開WebDriverAgent項(xiàng)目(我使用的是免費(fèi)證書,免費(fèi)證書如何弄請(qǐng)百度)荠瘪,修改TARGETS下所有對(duì)象的Bundle Id
-
TARGETS下所有對(duì)象的team替換成自己開發(fā)者賬號(hào)夯巷,并勾選Automatically
-
選擇運(yùn)行的Scheme與設(shè)備
- 執(zhí)行Test,可以看到手機(jī)上多了一個(gè)無圖標(biāo)的WebDriverAgent應(yīng)用巧还,此app會(huì)打開鞭莽,馬上又回到手機(jī)桌面,正常
此時(shí)控制臺(tái)界面可以看到設(shè)備的IP:
此IP地址加上status
麸祷,例如http://169.254.120.53:8100/status
澎怒,用瀏覽器打開,會(huì)顯示一串JSON串阶牍,則代表成功喷面,如果加上inspector,會(huì)得到如下界面
- 假如上述所說的地址打不開走孽,那也正常惧辈,我自己的手機(jī)就是這樣,需要轉(zhuǎn)發(fā)端口
安裝usbmuxdbrew install usbmuxd
把手機(jī)上的8100端口轉(zhuǎn)到電腦上iproxy 8100 8100
以后輸入地址只需要輸入localhost即可磕瓷,例如:http://localhost:8100/inspector
安裝facebook-wda
- 給python安裝facebook-wda擴(kuò)展盒齿,
sudo pip install --pre facebook-wda
- 從github上下載facebook-wda,
git clone https://github.com/openatx/facebook-wda
或者直接下載ZIP壓縮包 - 在facebook-wda文件路徑下執(zhí)行
sudo python setup.py install
如何使用facebook-wda
前提條件:首先啟動(dòng)WebDriverAgent困食,運(yùn)行Test边翁,待顯示出ip地址,然后轉(zhuǎn)換端口硕盹。
給iPhone截屏并保存符匾,更多功能請(qǐng)自己在GitHub上查找https://github.com/openatx/facebook-wda
import wda
c = wda.Client('http://localhost:8100')
c.screenshot('/Users/gcf/Desktop/shotImg/%dscreen.png' % (tag))
遇到的問題
- 提示
Failed to download resource "carthage"
,需要安裝carthagebrew install carthage
- 提示
Permission denied: '/Library/Python/2.7/site-packages/idna'
瘩例,加上sudo