美文网首页人生苦短,我用python
《跳一跳》小程序,python作弊ios版细节说明

《跳一跳》小程序,python作弊ios版细节说明

作者: IT晴天 | 来源:发表于2018-01-08 10:42 被阅读110次

    先前看到这篇文章:
    教你用 Python 来玩微信跳一跳(iOS)

    然后试着跑一下,结果发现太多坑了,现在把细节补充说明一下:

    一、安装WebDriverAgent

    WebDriverAgent是Facebook发布的,旨在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备。你可以实现启动、杀死应用,点击、滚动视图等操作。

    功能不止作弊这么玩,其实很强大的,如常用于手机应用自动化测试,具体内容可以参考下文:
    基于WebDriverAgent代理服务,实现iOS手机app自动化测试的框架搭建
    ATX使用 Python 库 facebook-wda 完成网易云音乐 iOS 客户端的自动化测试 (示例)

    步骤如下:

    1. 从Github下载源码:WebDriverAgent
    2. 安装Carthage,有几种安装方式,这选用了brew安装:
    brew install carthage
    
    1. 执行WebDriverAgent源码下的启动脚本:
    ./Scripts/bootstrap.sh
    
    1. 修改bundleID:
      因为原有ID被占用了,使用自己的开发者账号无法匹配,所以修改ID,且保证不跟其他人的重名,如把前缀facebook.wda替换为woodstream
      修改完成后build源码,如果还无法成功,则打开project.pbxproj文件,搜索facebook.wda并全替换为woodstream再次build。
    2. 选择 WebDriverAgentRunner 用真机Test:
      image.png
      看到输出打印出IP地址表示成功,否则,多执行几次Test,直到成功为止(记住这个地址,一会要用),如果几次都没成功,则可能手机设置问题,通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上:
    brew install imobiledevice
    
     iproxy 8100 8100
    
    Test时打印出IP地址

    二、Python配置

    利用facebook-wda这个Python库,通过构造HTTP请求直接跟WebDriverAgent通信。

    1. 安装python
      mac上默认安装了python2.7.x,所以可以跳过这一步。在终端可输入下述命令验证python是否已安装:
    python --version
    
    1. 下载wechat_jump_game
      config/iPhone目录下对应你的真机设备文件,复制到当前目录并重命名为config.json,里面参数可能需要微调。
    2. 安装python包管理工具pip
    curl -O https://raw.githubusercontent.com/pypa/get-pip/master/get-pip.py
    
    sudo python get-pip.py
    

    也可以把上两命令换为一个:

    sudo easy_install pip
    
    1. 利用pip安装facebook-wda
    pip install --pre facebook-wda
    
    1. 安装PIL,可参考此文: Mac安装PIL模块
    xcode-select --install
    
    sudo easy_install -f http://www.pythonware.com/products/pil/ Imaging
    
    1. wechat_jump_game执行其它依赖安装
    sudo pip install -r requirements.txt
    

    此时可能会因为旧版依赖库存在而报错:

    如six,原因是Apple预安装的这个six库出于安全原因被设置为sudo也不可以执行操作,所以需要依赖于高版本的库就需要更新six,但是没有six的权限,所以就会报错。

    可以选择忽略错误,也可以替换为如下命令强制升级:

    sudo pip install -r requirements.txt --upgrade --ignore-installed
    
    1. 在appstore下载RulerSwift,用于微调像素做参考;
    2. 微信打开《跳一跳》小程序;
    3. 修改wechat_jump_auto_iOS.py。
      因为我的环境是python2,所以修改此文件,如果是python3的,则修改对应文件。
      搜索wda.Client把括号内容替换为上述Test时的IP地址,如:wda.Client('http://192.168.96.91:8100')
    4. 执行python脚本:
    python wechat_jump_auto_iOS.py
    

    至此可以看到小人自动跳跃了。

    相关文章

      网友评论

        本文标题:《跳一跳》小程序,python作弊ios版细节说明

        本文链接:https://www.haomeiwen.com/subject/bcaynxtx.html