搭建 Appium 自动化测试环境(Android 篇)

今天我们要讲的如何搭建一个 Appium 自动化测试环境,可以对 Android 系统的 App 进行自动化测试。

本文仅讲解在 Mac 上的环境配置方法。

配置 Android 的自动化驱动环境

Appium 进行自动化的原理是:发送命令到各自系统对应的自动化驱动,来对相应的系统上的 App 进行自动化。这篇文章讲的是 Android 自动化,对应驱动的名字叫 UiAutomator2。为了让驱动正常工作,我们要配置 UiAutomator2 的环境:

安装 Homebrew

如果你的 Mac 已经有 Homebrew ,请忽略,否则执行此命令安装:

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装 Java

1
2
brew tap caskroom/versions
brew cask install java8

设置 JAVA_HOME 环境变量

编辑登陆脚本:

1
vi ~/.bash_profile

添加这两行:

1
2
export JAVA_HOME="$(/usr/libexec/java_home)"
export PATH=$JAVA_HOME/bin:$PATH

使其生效:

1
source ~/.bash_profile

安装 Android SDK

Android SDK 最好的安装方法是安装 Android Studio。安装过程一路默认就好。

安装完成后,点击这里查看 SDK 目录:

image.png

image.png

设置 ADNROID_HOME 环境变量

将 ANDROID_HOME 环境变量设置为上步的 SDK 目录地址:

编辑登陆脚本:

1
vi ~/.bash_profile

添加这两行(注意把 username 改为自己的):

1
2
export ANDROID_HOME="/Users/username/Library/Android/sdk"
export PATH=$ANDROID_HOME/platform-tools:$PATH

使其生效:

1
source ~/.bash_profile

至此,驱动环境就搭建好了!

安装 Appium

安装 Appium 有两种方式,NPM 和 桌面程序安装包,我们这次先选择前者:

1
npm install -g appium

编写简单测试脚本

查看设备名称

打开手机开发者模式插到 Mac 上,输入此命令查看设备名称:

1
adb devices

下载被测试的 App

ApiDemos-debug.apk

新建测试项目

1
2
3
4
5
mkdir appium-test
cd appium-test
npm i webdriverio

添加 test.js 文件,并填写以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// javascript
const wdio = require("webdriverio");
const opts = {
port: 4723,
desiredCapabilities: {
platformName: "Android",
deviceName: "填写 adb devices 中的名称",
app: "填写 ApiDemos-debug.apk 的本地路径",
automationName: "UiAutomator2"
}
};
const client = wdio.remote(opts);
client
.init()
.click("~App")
.back()
.end();

在一个命令行中启动 appium:

1
appium

在另一个命令行中执行测试脚本:

1
node test.js

然后就会发现手机被安装了 ApiDemos.apk ,并模拟点击了脚本中的命令。