天猫最近搞了个全民开喵铺瓜分20亿活动, 大概套路就是浏览各种商品和店铺来挣喵币, 喵币升级喵铺, 到11月10号按等级分红包.

作为一个程序员怎么能手动去浏览挣喵币呢, 而且还要每个滑动浏览15秒, 于是这里提供自动脚本教程

先上效果图:
1571915344302.gif

此活动相关教程分上下两篇
本篇写的是使用自动化测试思想去在iPhone上模拟点击店铺并滑动浏览
下篇写的是直接在电脑浏览器上打开H5页面并且使用js脚本操作网页去打开店铺并点击签到:
天猫双11全民开喵铺瓜分20亿活动自动化脚本-签到

准备

可以参考之前的教程: Mac + iPhone 实现微信跳一跳自动化教程

  1. 硬件

    • 装有 Mac OS 系统的电脑
    • iPhone 手机
    • 数据线
    • 🤣
  2. 软件及依赖 (安装步骤在后面)

    • WebDriverAgent ( facebook 出品的一个让 iOS 设备提供远程控制功能的服务端. ps:facebook没维护了, 交给了appium维护, 文中的链接已经更新)
      • Xcode (Apple开发工具)
      • Carthage (Cocoa依赖管理器)
        • Homebrew
    • facebook-wda (通过连接到 WebDriverAgent 来控制 iOS 设备的 Python 客户端库)
      • Python

安装

  • 已经安装过的软件可以跳过, 本文假设是个新电脑~
  • 为了观看顺畅性, 减少跳转, 本文结合了很多其他教程, 遇到问题时可以跳到参考教程看看
  • 以下代码段中的命令都是在终端中执行

安装 Xcode

安装 WebDriverAgent (参考教程)

  1. 安装 Homebrew :

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. 安装 Carthage (参考教程):

    brew install carthage
    
  3. 下载 WDA 源码:

  4. 运行 WDA 初始化脚本:

    1. 更改执行目录到刚刚下载的 WDA 的文件夹
      cd /Users/xxx/xxx/ #记得改成 WDA 的目录
      
    2. 执行初始化脚本
      ./Scripts/bootstrap.sh
      
  5. 打开 Xcode 运行 WDA 项目

    1. 真机运行需要设置证书, 为了防止跟别人冲突可以先修改 BundleID
    2. 选择 WebDriverAgentRunner 这个 target
    3. 运行测试, Product -> Test, (是Test不是Run)
    4. 如果运行成功, Xcode 控制台会打印 WDA 服务端地址, 如 http://10.0.0.1:8100
    5. 可以加上/status合成一个url地址。例如http://10.0.0.1:8100/status,然后浏览器打开。如果出现一串JSON输出,说明WDA安装成功了。

安装 facebook-wda

  1. 先安装 Python3: https://www.python.org/downloads/release/python-364/
  2. 执行命令 pip3 install --pre facebook-wda

编写自动化浏览脚本

创建 test.py 文件

import time
import wda

# 连接iPhone 需要改成上面 Xcode 控制台输出的地址
c = wda.Client('http://169.254.138.18:8100')
with c.session() as s:
    print(s.orientation)
    # 循环20个店
    for i in range(1,20):
        # 点击进店浏览 第2个按钮 自己截图看按钮坐标在哪, 记得按机型除2或3
        s.tap(340,454)
        # 点击第3个按钮
        # s.tap(340,525)
        # 点击第4个按钮
        # s.tap(340,599)
        # 点击第5个按钮
        # s.tap(340,670)
        # 点击第6个按钮
        # s.tap(340,741)
        # 暂停一会儿
        time.sleep(0.5)
        # 循环滑动 次数可以改, 但是活动要求至少15秒
        for j in range(1,15):
            # 模拟上滑
            s.swipe(0.5, 0.5, 0.5, 0.3, 0.3)
            # 暂停一会儿
            time.sleep(0.5)
        # 模拟右滑返回
        s.swipe(0.0, 0.5, 0.7, 0.5, 0.5)
        # 暂停一会儿
        time.sleep(0.5)

开始愉快的玩耍

  1. 打开淘宝, 进入开喵铺的领喵币中心的浮窗
  2. 电脑上执行命令 python3 test.py
  3. 围观手机自动浏览店铺挣喵币 🤣
  4. 完成后去升级你的喵铺吧

IMG_58542.png