自动化证券交易(二)——Appium 及驱动

前言

之前安装好了 Android 的虚拟机环境(详见《自动化证券交易(一)------VirtualBox + Android》),这回该安装自动化工具了 ------ Appium

其实安装 Appium 并不复杂,复杂的是要安装它配套的驱动,我们逐步来看下

环境准备

Nodejs

想安装 Appium,要先安装 Nodejs。不管用的什么系统,都推荐用 nvm(win系统的用 nvm-windows)来管理 Nodejs。当然如果直接装 Nodejs 的 LTS 版本也没问题,只是笔者已经习惯用 nvm 了。注意版本要求:

  • A macOS, Linux, or Windows operating system
  • Node.js version in the SemVer range ^14.17.0 || ^16.13.0 || >=18.0.0
    • LTS is recommended
  • npm version >=8 (npm is usually bundled with Node.js, but can be upgraded independently)

下面列一下 nvm 的一些常用命令:

bash 复制代码
# node version list
nvm ls

# install latest LTS version
nvm install --lts

# set default version
nvm alias default 20.15.1

# set nodejs mirror
nvm node_mirror https://npmmirror.com/mirrors/node/

# use cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com

# use npm mirror
npm config set registry https://registry.npmmirror.com

Android SDK

安装 Android SDK 有 2 种方法,一种是先安装 Android Studio,然后用它安装 SDK。另一种是手动下载所需文件。后者明显更轻量,笔者先尝试了第二种,结果没成功,然后又用了第一种,成功之后又优化了第二种。下面分别说下:

用第一种方法,注意在启动了 Android Studio 之后,让你安装扩展的时候,要选择自定义。必须要选的是 platform-tools、emulator、command-line tools,其它的先不用装。记得修改一下 SDK 的路径,我写的是 D:\Android\Sdk

下面说下第二种方法:

后来笔者发现,不安装 emulator 好像也可以,但是过不了后面 appium doctor 检测的那关。甚至修改 cmdline-tools 那一步都不需要。不过还是推荐 appium doctor 检测的标准吧,所以正常按照下面的方法做也没问题。

追求极致的同学,如果不修改 cmdline-tools 那一步,恐怕要再尝试修改下环境变量了,这里笔者犯懒就没研究了,只是给大家一个思路。

  1. 分别下载 Android command-line toolsAndroid SDK Platform-ToolsAndroid Emulator
  2. 新建 D:\Android\Sdk 目录,然后把上面下载的都解压到这个目录下,目录名应该分别是 cmdline-toolsplatform-toolsemulator
  3. 这步比较关键,在 cmdline-tools 目录下新建一个 latest 目录,然后把原本这个目录下的内容全部移进去。起码我用的这个版本需要这么做,后续这个 bug 也许会被修复,大家按情况来;

用 Android Studio 其实还有个好处,就是可以有自带虚拟机。因为之前技术选型选了 VirtualBox,相对来说更自由,所以这里先打个标签记录下。如果有机会直接研究下 Android Studio 全家桶。

无论哪种方法,最后都要修改一下系统环境变量,新建 ANDROID_HOME = D:\Android\Sdk,修改 Path 新增 %ANDROID_HOME%\platform-tools

Java JDK

Oracle 下载最新版 JDK,注意不是 JRE 。我下载的是一个 zip 文件,解压到了 D:\java\ 目录下,目录名大概是 jdk-22.0.1

然后修改环境变量,新建 JAVA_HOME = D:\java\jdk-22.0.1,修改 Path 新增 %JAVA_HOME%\bin

注意

通常 nvm 已经加到环境变量里了,如果没加的话,自己加一下。变量大概是 NVM_HOME = C:\Users\Administrator\AppData\Roaming\nvmNVM_SYMLINK = C:\Program Files\nodejs,然后 Path 里加上 %NVM_HOME%%NVM_SYMLINK%

然后可以运行一下下面的命令,看一下是否成功安装。如果有异常的话,查看一下环境变量是不是没配置对。

bash 复制代码
adb --version
java --version
javac --version

安装 Appium 及 UiAutomator2

成功安装了 Nodejs 之后,运行下面命令安装 Appium 即可:

bash 复制代码
# install
npm i -g appium

# update
npm update -g appium

# check
appium -v
# 2.11.2

想要 Appium 操作其它系统,必须要安装配套的驱动。因为我们要操作的是 Android,所以要安装 UiAutomator2。直接运行下面的命令即可。

bash 复制代码
# install
appium driver install uiautomator2

# check
appium driver doctor uiautomator2

如果运行检查的命令,出现 Bye! All issues have been fixed!,那么就是没问题了。

: 貌似 doctor 的校验不过,也可以正常运行。但是可能会在某些特殊场景有坑,所以笔者还是把错误都 fix 了。

如果出问题通常是下面这几个的问题,大家参照正确的配置找下问题吧:

info Doctor ✔ ANDROID_HOME is set to: D:\Android\Sdk

info Doctor Checking adb, emulator, apkanalyzer.bat

info Doctor 'adb' exists in D:\Android\Sdk\platform-tools\adb.exe

info Doctor 'emulator' exists in D:\Android\Sdk\emulator\emulator.exe

info Doctor 'apkanalyzer.bat' exists in D:\Android\Sdk\cmdline-tools\latest\bin\apkanalyzer.bat

结语

折腾了一通,终于把 Appium 装完了。果然编程最麻烦的就是装环境,要不是笔者还算有点经验,真的直接就劝退了。感觉即使上 ChatGPT 也还是挺困难的,看来咱们程序员的饭碗还能保住一阵(强行自我安慰)......

接下来就是尝试把 Appium 跟 Android 虚拟机连通了。由于本篇篇幅已经很长了,所以打算另起一篇。各位拭目以待吧。

TO BE CONTINUED...

相关推荐
kirito学长-Java几秒前
springboot/ssm太原学院商铺管理系统Java代码编写web在线购物商城
java·spring boot·后端
爱学习的白杨树1 分钟前
MyBatis的一级、二级缓存
java·开发语言·spring
拓端研究室11 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
Code成立12 分钟前
《Java核心技术I》Swing的网格包布局
java·开发语言·swing
中草药z17 分钟前
【Spring】深入解析 Spring 原理:Bean 的多方面剖析(源码阅读)
java·数据库·spring boot·spring·bean·源码阅读
信徒_25 分钟前
常用设计模式
java·单例模式·设计模式
神仙别闹31 分钟前
基于C#实现的(WinForm)模拟操作系统文件管理系统
java·git·ffmpeg
小爬虫程序猿31 分钟前
利用Java爬虫速卖通按关键字搜索AliExpress商品
java·开发语言·爬虫
组合缺一37 分钟前
Solon v3.0.5 发布!(Spring 可以退休了吗?)
java·后端·spring·solon
程序猿零零漆39 分钟前
SpringCloud 系列教程:微服务的未来(二)Mybatis-Plus的条件构造器、自定义SQL、Service接口基本用法
java·spring cloud·mybatis-plus