Android端自动化脚本工具:Auto.js和Appium

引言

  • 寒假期间,朋友让我一起和他在淘宝的天猫农场上一起种水果,说是等熟了,可以一分钱买好多水果(表示昨天水果刚邮回来,比较香)
  • 我具体看了看怎样种水果,逛指定商品页面15秒,逛一逛淘宝人生以及签个到等。倒是不费劲,就是有些麻烦。于是想借此机会搞一搞Android端自动化脚本。
  • 目前入手的由两个,一个是Auto.js,另一个是Appium
  • 下面就简要介绍一下使用两者的感受

Auto.js

  • Auto.js是可以手机端运行的,无需Root手机自动化脚本开源工具,主要开发语言为JavaScript,目前只支持Android平台。
  • 但是由于该App大多用于黑产,作者目前已经停止更新,该App的下载,也只是一些民间流传的版本。勉强能用。
  • 之前是由于淘宝领喵币,接触到了Auto.js,而后就一发不可收。
  • 优点
    • 手机端可以运行,无需连接电脑,甚至可以在手机上直接编程运行
    • 无需Root,相关说明文档清晰,对于新手比较友好
  • 缺点:
    • 作者已经停止更新该软件,所以民间流传的版本,有较多Bug
    • 运行代码不稳定,有时时灵时不灵,而且对于各个版本的手机兼容性较差
  • 实例→启动微信:
    lauchApp("微信");
  • 相关资料

Appium

  • 好友推荐,抱着试一试的态度,入门一下。目前只是简单入门
  • 优点
    • 开源、跨平台
    • 支持Selenium WebDriver支持的所有语言,如Java、Php、Python等。
    • 稳定
  • 缺点
    • 开始配置环境较为复杂,往往让人望而却步
    • 定位文本不太准确(相比于Auto.js),有些元素不能有效定位(定位工具:Appium Inspecter或者Ui Automator Vierwer)
  • 实例(前提是你已经配置好所有环境)→启动微信
    import time
    from selenium import webdriver
    
    def PATH(p): return os.path.abspath(os.path.join(os.path.dirname(__file__), p))
    
    # 启动微信
    desired_caps = {
        "platformName": "Android",
        "platformVersion": "8.1.0",
        "deviceName": "vivo_X9i",
        "appPackage": "com.tencent.mm",
        "appActivity": "com.tencent.mm.ui.LauncherUI",
        "noReset": True,
        "fullReset": False,
    }
    
    driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
    time.sleep(5)
  • 相关资料