2017年12月28日,微信放出了 6.6.1 版本,在微信首頁二樓(下拉出現)位置重磅推出了「跳一跳」小程序,瞬間刷爆朋友圈。html
在你們忙於遊戲的時候,有人獨闢蹊徑基於 python + WebDriverAgent 實現了經過 PC 遠程操控手機「跳一跳」小程序小人自動跳動,將分數刷到了使人髮指的地步,悄悄佔領朋友圈第一。python
目前已經有比較火的幾篇文章詳細講如何實現上述操做,可是或多或少存在描述不夠詳細、參數設置只在某些機型上表現較好的問題。這也形成我在根據這些教程實現過程當中踩了幾個小坑。本文基於 Macbook + iphone 6s plus 來說一下如何實現上述過程,也將踩過的坑記錄下。git
下載並點擊安裝。下載地址:www.python.org/downloads/m… 在終端 terminal 中輸入以下命令,查看是否安裝 python3 成功。github
~ python3 -V
Python 3.6.4
複製代碼
文檔地址:docs.python.org/3/tutorial/… 方法以下:npm
~ python3 -m venv tutorial-env
~ source tutorial-env/bin/activate
(tutorial-env) ➜ ~
複製代碼
安裝 python 包管理工具 pip。 文檔地址:pip.pypa.io/en/latest/i… 方法以下:json
(tutorial-env) ➜ ~ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
(tutorial-env) ➜ ~ python get-pip.py
複製代碼
經過 appstore 安裝bootstrap
xcode,儘可能新版。儘可能升級Xcode到最新版,保持iPhone的版本大於9.3。小程序
從github上下載代碼xcode
git clone https://github.com/facebook/WebDriverAgent
複製代碼
安裝 carthagebash
brew install carthage
複製代碼
運行初始化腳本
./Scripts/bootstrap.sh
複製代碼
該腳本會使用Carthage下載全部的依賴,使用npm打包響應的js文件
執行完成後,直接雙擊打開WebDriverAgent.xcodeproj這個文件。
設置證書籤名,Team 一欄勾選我的帳號便可。
接着在TARGETS裏面選中WebDriverAgentRunner,用一樣的方法設置好證書 重命名WebDriverAgent的BundleID,避免重名。 接着在TARGETS裏面選中WebDriverAgentRunner,用一樣的方法重命名。Xcode - Product - Scheme 中選擇 WebDriverAgentRunner。
將 iphone 經過數據線鏈接到 macbook 上。 在 Xcode - Product - Destination 中選擇數據線鏈接的 iphone 。運行 Xcode - Product - Test
~ brew install libimobiledevice
~ iproxy 8100 8100
複製代碼
使用iproxy --help 能夠查到更具體的用法。 這時經過訪問http://localhost:8100/status確認WDA是否運行成功。
而inspector的地址是http://localhost:8100/inspector, inspector是用來查看UI的圖層,方便寫測試腳本用的
獲取 python 跳一跳代碼
git clone git@github.com:korbinzhao/wechat_jump_game.git
複製代碼
安裝 facebook-wda
(tutorial-env) ➜ ~ pip3 install --pre facebook-wda
複製代碼
安裝項目依賴
(tutorial-env) ➜ wechat_jump_game git:(master) ✗ pip3 install -r requirements.txt
複製代碼
拷貝 ./config/iPhone 目錄下對應的設備配置文件,重命名並替換到 ./config.json
在手機中打開小程序界面,運行 python 腳本
(tutorial-env) ➜ wechat_jump_game git:(master) ✗ python3 wechat_jump_auto_iOS.py
複製代碼
最終效果