自动化证券交易(二)——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...

相关推荐
吾日三省吾码4 分钟前
JVM 性能调优
java
Estar.Lee11 分钟前
查手机号归属地免费API接口教程
android·网络·后端·网络协议·tcp/ip·oneapi
温辉_xh33 分钟前
uiautomator案例
android
弗拉唐1 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi772 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
工业甲酰苯胺2 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
少说多做3432 小时前
Android 不同情况下使用 runOnUiThread
android·java
知兀2 小时前
Java的方法、基本和引用数据类型
java·笔记·黑马程序员
蓝黑20202 小时前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea