前言
之前安装好了 Android 的虚拟机环境(详见《自动化证券交易(一)------VirtualBox + Android》),这回该安装自动化工具了 ------ Appium。
其实安装 Appium 并不复杂,复杂的是要安装它配套的驱动,我们逐步来看下
环境准备
Nodejs
想安装 Appium,要先安装 Nodejs。不管用的什么系统,都推荐用 nvm(win系统的用 nvm-windows)来管理 Nodejs。当然如果直接装 Nodejs 的 LTS 版本也没问题,只是笔者已经习惯用 nvm 了。注意版本要求:
下面列一下 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 那一步,恐怕要再尝试修改下环境变量了,这里笔者犯懒就没研究了,只是给大家一个思路。
- 分别下载 Android command-line tools、Android SDK Platform-Tools、Android Emulator;
- 新建
D:\Android\Sdk
目录,然后把上面下载的都解压到这个目录下,目录名应该分别是cmdline-tools
、platform-tools
、emulator
; - 这步比较关键,在
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\nvm
、NVM_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...