实验环境,macOS+iPhone6
安装 WebDriverAgent
首先参考这篇文章在mac系统上面安装好 WebDriverAgent :https://testerhome.com/topics/7220
1、从github上下载代码
git clone https://github.com/facebook/WebDriverAgent
2、运行初始化脚本
./Scripts/bootstrap.sh
该脚本会使用Carthage下载所有的依赖,使用npm打包响应的js文件
3、执行完成后,直接双击打开WebDriverAgent.xcodeproj这个文件。
其中XCode的证书问题,在设置的account中登录好你的Apple ID,然后就能生成一个免费的开发者证书。
端口转发
经过上面安装好 WebDriverAgent,并运行起来后,在XCode的菜单View->Debug Area->Activate Console,出来的界面可以看到日志:
t = 0.00s Start Test at 2018-01-02 08:57:31.029 t = 0.01s Set Up 2018-01-02 08:57:31.122386+0800 WebDriverAgentRunner-Runner[448:87796] Built at Jan 1 2018 21:18:44 2018-01-02 08:57:31.234608+0800 WebDriverAgentRunner-Runner[448:87796] ServerURLHere->http://10.0.0.4:8100<-ServerURLHere t = 135.31s Find the Application "com.tencent.xin" 0x10565bf30
从上面的日志可以找到 WebDriverAgent 开放的端口,但是,我的手机并不能访问server地址 http://10.0.0.4:8100,这时候需要用到一个工具,将手机上的端口转发到电脑上来。
brew install usbmuxd iproxy 8100 8100
这时访问 WebDriverAgent 的时候,直接用地址 http://localhost:8100 就行了。
运行外挂脚本
我尝试过两个项目,一个Go语言版本(https://github.com/faceair/youjumpijump),一个Python版本(https://github.com/wangshub/wechat_jump_game),发现Python项目的效果好一些。
下面是使用python版,前提要在XCode中运行好WebDriverAgent,微信中打开跳一跳游戏。
git clone https://github.com/wangshub/wechat_jump_game cd wechat_jump_game virtualenv --python=/usr/local/bin/python3 env --system-site-packages env/bin/pip3 install -r requirements.txt env/bin/pip3 install --pre facebook-wda cp config/iPhone/6_config.json config.json env/bin/python3 wechat_jump_auto_iOS.py