前言
自从微信更新了6.6.1新版本后,官方推出了”跳一跳”小程序。具体玩法是通过手指触摸屏幕的时间长短给一个压力值给屏幕上的小棋子,控制着它在不同的盒子上不断向前跳。坚持的时间越长,分数就越高。事实证明,喵喵不是玩游戏的好手,努力了好久,还没有上到100分,于是就想到用程序员的思维(开挂)来解决问题。
正文
接下来说说具体细节。
Here comes details!
环境
首先说一下喵喵使用的是Mac+iOS的硬件环境。
使用其他硬件环境的小伙伴请将我的博客仅做参考。
软件环境:
- 首先需要你安装Xcode和Homebrew,这个应该可以百度或者谷歌解决。
- 使用
brew install carthage
- 使用
brew install python3
- 使用
brew install node
使用真机调试 WDA,参考 iOS 真机如何安装 WebDriverAgent · TesterHome
安装WebDriverAgent
打开终端
下载:
1$ git clone https://github.com/facebook/WebDriverAgent下载完成之后进入 WebDriverAgent 的目录下
1$ ./Scripts/bootstrap.sh如果WebDriverAgent目录没错, 上面的环境都成功安装,那么应该可以把 WebDriverAgent 安装起来了,这一步很重要。
编译WebDriverAgent
在Xcode中打开WebDriverAgent工程。
如果是真机运行的话,需要安装开发者证书用于调试,就是交了钱的那个!! 。(如果是免费版的个人证书,还需要修改下WebDriverAgent的BundleID)
Product -> Destination选择目标设备。
Product -> Scheme选择编译对象WebDriverAgentRunner。
最后运行 Product -> Test。
一切正常的话,手机上会出现一个无图标的WebDriverAgent应用,启动之后,马上又返回到桌面。这是很正常的不要奇怪。
此时控制台界面可以看到设备的IP。如果看不到的话,View -> Debug Area激活控制台。
通过上面给出的IP和端口,加上
/status
合成一个url地址。例如http://192.168.1.103:8100/status
,然后手机浏览器打开。如果出现一串JSON输出,说明WDA安装成功了。安装usbmuxd,用于将手机的8100端口通过usb映射到电脑端。
12$ brew install usbmuxd$ iproxy 8100 8100然后,我们在浏览器中输入http://localhost:8100/inspector 得到如下信息则说明连接成功
运行 Python
Python 环境需求:facebook-wda numpy matplotlib PIL
这里因为PIL已经不用了 所以安装的是pillow
一键安装 sudo pip3 install facebook-wda numpy matplotlib pillow
理论上可以一键安装, 如果不行的话就逐个安装。(不要打喵喵)
配置好环境以后运行安装好的 WebDriverAgentRunner
,准备运行脚本。
实施方案
将手机点击到 “跳一跳” 小程序界面
- 运行
python3 wechat_jump_iOS_py3.py
- 依次点击弹出的窗口中的起始位置和目标位置,会自动计算距离后起跳
- 根据起跳的精准情况更改
python3 wechat_jump_iOS_py3.py
中的time_coefficient
参数,直到获得最佳取值
拷贝
./config/iPhone
目录下对应的设备配置文件,重命名并替换到./config.json
运行
python3 wechat_jump_auto_iOS.py
小棋子就开始自己往前跳啦~
最后 享受朋友圈的霸榜吧!友情提示:分数刷太高会被封的哦~