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

相关推荐
暮毅8 分钟前
10.Node.js连接MongoDb
数据库·mongodb·node.js
九圣残炎11 分钟前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
wclass-zhengge13 分钟前
Netty篇(入门编程)
java·linux·服务器
Re.不晚41 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
雷神乐乐1 小时前
Maven学习——创建Maven的Java和Web工程,并运行在Tomcat上
java·maven
码农派大星。1 小时前
Spring Boot 配置文件
java·spring boot·后端
HerayChen1 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac
android·macos·智能手机
顾北川_野1 小时前
Android 手机设备的OEM-unlock解锁 和 adb push文件
android·java
hairenjing11231 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机
江深竹静,一苇以航1 小时前
springboot3项目整合Mybatis-plus启动项目报错:Invalid bean definition with name ‘xxxMapper‘
java·spring boot