【Appium】从零搭建Android自动化测试环境
Appium是用于本机, 混合和移动Web应用程序的 开源测试自动化框架。它使用WebDriver协议驱动iOS,Android和Windows应用程序
一、Appium简介
Appium是用于本机, 混合和移动Web应用程序的 开源测试自动化框架。它使用WebDriver协议驱动iOS,Android和Windows应用程序
WebDriver参考
Appium支持的开发平台
| 操作系统 | 开发平台 |
|---|---|
| IOS | XCode w/ Command Line Tools |
| Android | Mac OSX or Windows or Linux and Android SDK ≥ 16 |
Appium资源
二、测试环境

Appium运行测试环境包括
Appium-ClientAppium-Server移动设备
1. Appium-Client
客户端,开发者可以选择自己擅长的开发语言来写测试代码,我选择的是C#,所以会在C#项目的Nuget包里引用Appium

2. Appium-Server
Appium-Server通过接受Client传递过来的指令,将指令发送给App,驱动App做出相应动作。Appium Desktop内置Appium-Server,并且支持控件识别,录制动作等功能,这里选择自己电脑支持的安装包

3. 移动设备
这里我们选择模拟器来代替真实移动设备,由于我的机器是Window系统,暂时只考虑使用安卓模拟器,我选择的是模拟器是原生的Android Emulator,关于如何配置,我的开发IDE是Visual Studio 2019, 其移动开发技术Xamarin内置了Android的一些配置
三、软件配置
1. Window系统配置
需要在BIOS中开启虚拟化技术
如果配置成功,任务管理器会出现虚拟化已启用

需要开启模拟器硬件加速设置
2. Android Emulator配置
2.1 移动开发组件安装
我使用Visual Studio 2019来配置Android Emulator,首先需要确保Visual Studio 2019已经安装移动开发组件,Visual Studio Installer -> Mobile development with .Net

2.1 Android SDK安装
进入Visual Studio 2019,打开Android选项,首先配置Android SDK

选择Android版本以及SDK Build Tools

安装好之后所有工具都在Android SDK目录
C:\Program Files (x86)\Android\android-sdk
接下来,我们可以新建虚拟设备,打开Android Device Manager,在里面新建自己需要的设备,我们可以在这里启动虚拟设备


3. Appium Desktop配置
3.1 环境变量配置
首先需要编辑配置文件设置环境变量

配置Android SDK和Java SDK变量
- ANDROID_HOME : Anroid SDK的安装目录,在VS配置Android Emulator时已安装
- JAVA_HOME : Java SDK的安装目录,本文没有提到Java SDK的安装,需自己安装
3.2 Desired Capbilities配置
配置好环境变量后启动服务,然后需要新建一个Inspector Session

在Desired Capbilities选择,对于Android而言有6个必需的参数,Appium知道以下参数才能在虚拟设备中找到某个App

- platformName : 平台名,Android
- platformVersion : Android版本,可以在配置虚拟设备时获取
- deviceName :虚拟设备在Window中的地址
- appPackage : app的包名
- appActivity : app的Activity名称
- automationName : 自动化名称
关于参数的名称,可以参考以下资料
deviceName的获取: 在Adroid Device Manager里启动虚拟设备后,这时虚拟设备在Window中就存在一个地址,这里使用adb工具获取该地址, 这里emulator-5554就是deviceName的值
“C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe” devices

appPackage和appActivity的获取参考以下资料
automationName的设置,之前没有设置automationName结果一直启动失败,后来参考这篇文章需要把automationName设置为UiAutomator1解决了问题
四、测试案例
1. 启动Andriod Emulator
首先我们在Visual Stuido 2019的Android Device Manager中启动一个虚拟设备
2. 设置Desired Capbilities
以虚拟设备里的拨号功能app为例,我们这样设置Desired Capbilities(有些参数根据自己的虚拟设备获取)

3. 启动Session
启动后可以看到虚拟设备中的拨号功能app

五、脑图总结

现在,Appium关于Android的测试环境已经成功搭建,接下就可以进行脚本编写以及测试了。从零搭建Android测试环境对于一个没有移动端开发经验的人来说真的是很困难,好在这句话一直在支持着我,最后也成功解决了问题
只要思想不滑坡,办法总比困难多。