一、概述
本文将介绍如何在macOS
系统下一步一步搭建Appium
框架,支持对Android
设备进行UI自动化测试,并使用python
编写测试脚本,最终实现一个简单的UI
自动化测试用例。
二、软件安装信息汇总
安装软件版本信息汇总三、安装步骤
Appium
框架划分为三大部分(参考文章Appium框架简介):Appium
客户端、Appium
服务端和被测对象三大部分。在本文中,我们选择的组合是:python
作为Appium
客户端编写脚本、Appium
服务端运行在macOS
系统上并支持与Android
设备进行连接、被测对象是Android
设备或者Android
虚拟器。因此接下来的安装过程也按照这三部分进行划分(本文的Appium
服务端和客户端处于同一台macOS
机器上),最核心也最复杂的部分是Appium
服务端的安装。
第1部分: Appium
客户端安装
Appium
客户端主要是安装python
以及支持与Appium
服务端通信和交互的python
接口库。
1、安装python
1.1 下载安装包并安装
去python
官网下载支持macOS
系统的安装包,建议安装python3
。
1.2 验证安装结果
命令行输入python
或python3
,会出现如下回显:
2、安装基于python
的Appium
客户端
安装完python3
后,会自带python
的包安装管理工具pip
,因此在命令行执行如下命令(细节可以参考链接)安装Appium
客户端:
pip install Appium-Python-Client
安装完成后,输入如下命令检查是否安装成功:
pip show Appium-Python-Client
正常安装会回显如下信息。
Appium客户端
3、安装基于python
测试框架pytest
这一步不是必须的,因为python
本身自带单元测试框架unittest
,pytest
是python
下另外一款优秀的测试框架,可以根据个人喜好安装使用,安装命令如下:
pip install pytest
安装之后使用如下命令查询安装结果:
pip show pytest
安装成功后会显示如下信息:
安装pytest
第2部分: Appium
服务端安装
1、安装JDK
1.1 下载安装包并安装
JDK
的下载链接如下,本文下载的是JDK 8u111
,高版本的JDK
跟Android SDK Manager
和uiautomatorviewer
等工具有兼容性问题,导致打不开或者打开之后界面空白:
https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/java/jdk/8u111-b14/jdk-8u111-macosx-x64.dmg。下载的Mac OS X
的dmg
包,双击按照提示完成安装。
1.2 设置JDK环境变量
安装完成后,需要设置JDK
环境变量JAVA_HOME
,并将JAVA_HOME
添加到系统环境变量PATH
中,具体步骤如下:
打开~/.bash_profile文件,添加如下命令
export JAVA_HOME=/your/java/install/path
export PATH=$PATH:$JAVA_HOME
注意:上述JDK
安装路径需要替换成实际的安装路径。
对于本文中使用的macOS系统而言,上述命令为:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin
export PATH=$PATH:$JAVA_HOME
添加后命令行执行source ~/.bash_profile
重新加载环境变量,使用echo $JAVA_HOME
,如果能显示正确的路径,表明环境变量配置成功。
1.3 验证安装结果
命令行执行java -version
查看JDK
版本号,会得到类似下图的版本号显示(根据安装JDK版本不同而不同)。
2、安装Android SDK
2.1 下载安装包并安装
官网下载链接:http://developer.android.com/sdk/index.html,如果无法访问,可以使用如下下载链接:https://www.androiddevtools.cn/。本文下载的是后者的包android-sdk_r24.4.macosx.zip
,下载解压即可。将解压后的文件夹复制到安装目录(例如/XXX),这个目录后续要添加到环境变量。
2.2 设置Android SDK
环境变量
上步完成后,需要设置环境变量ANDROID_HOME
,并将ANDROID_HOME
添加到系统环境变量PATH
中,具体步骤如下:
打开~/.bash_profile文件,添加如下命令
export ANDROID_HOME=/your/android-sdk/install/path
export PATH=$PATH:$ANDROID_HOME
注意:上述ANDROID_HOME
安装路径需要替换成上个步骤的Android SDK
实际的安装路径。
添加后命令行执行source ~/.bash_profile
重新加载环境变量,使用echo $ANDROID_HOME
,如果能显示正确的路径,表明环境变量配置成功。
2.3 安装SDK
工具
上个步骤(环境变量添加)完成后,需要安装SDK
相关的工具(例如跟Android
设备交互的adb
命令、获取Android
设备控件信息的uiautomatorviewer
命令等),在命令行执行android
,会弹出如下界面:
需要选中Platform-tools、Build-tools、Android API包进行安装:
例如:下载Android API21,对应Android5
2.4 验证安装结果
命令行执行adb --version
,会得到如下回显:
3、安装node.js
和npm
Mac
下安装推荐使用Homebrew
来安装管理包,Homebrew
的安装方法很简单,见https://www.jianshu.com/p/9e9cc8c06ccb。
执行如下命令安装node.js
brew install node
安装完成后,npm
会默认安装,检测是否安装成功,可以运行命令:
node -v
npm -v
能正常回显版本号说明安装成功。
4、安装Appium
Appium
安装分为两部分,一部分是Appium server
,另一部分是针对不同测试对象(例如Android
、iOS
、Chrome
等)需要安装的Driver
。
4.1 安装Appium server
执行命令npm i -g appium@next
安装,请参考官方链接。
执行完成后,输入appium
命令,回显如下信息说明安装成功:
4.2 安装Appium Driver
Driver
跟被测对象交互,目前官方维护的Driver
如下表:
因为本文的测试对象是Android
,因此需要安装的Dirver
是UiAutomator2
,执行如下命令安装:
安装Driver
appium driver install uiautomator2
第3部分: 被测对象
这里针对的就是Android
设备,因此被测对象可以是模拟器,也可以是真实的Android
手机,本文只针对模拟器进行说明。
1、创建模拟器AVD
当不用真机进行调试时候,可以通过创建模拟器进行调试,创建Android
手机模拟器(简称AVD
)有两种方法:通过命令行创建和通过AVD Manager
创建。
1.1 通过命令行创建AVD
- 查看可创建的
AVD
列表
android list targets
显示可能如下:
AVD列表
- 创建一个
AVD
,name 为给AVD
取的名称,id 为上一步查询到的AVD
的ID
。例如AVD
名称是"Nexus10
",AVD
的ID
是"6
"或"Google Inc.:Google APIs:21
"。
android create avd -n
name-t
id
例如:android create avd -n "android5" -t 6
1.2 通过AVD Manager
创建AVD
- 通过执行如下命令,打开
AVD Manager
界面:
打开AVD Manager
android avd
-
点击
创建AVDCreate
,填写信息后,点击OK
保存即可,注意Target
和CPU/ABI
,可以使用Android SDK Manager
下载对应版本的Android API
,本文使用的是API 21
。
-
创建完成之后会显示在设备列表页
创建完成
1.3 启动AVD
除了从AVD Manager
界面查看创建的AVD
设备列表,还可以通过命令行执行android list avd
来查看当前系统创建AVD
设备列表。
可以在AVD Manager
界面,选中创建的AVD
设备,点击Start
-Launch
启动。
可以通过命令行执行如下命令启动一个已经创建的AVD
设备:
emulator -avd
name
备注:name即前面创建的AVD
设备名称,例如emulator -avd android5
启动成功后页面如下:
AVD启动成功
备注:打开AVD
模拟设备,可能会提示HAXM is not installed
,需要安装HAXM
来加速,使得模拟器运行速度加快,手动安装方法可以见链接https://github.com/intel/haxm/wiki/Installation-Instructions-on-macOS。
2、三方手机模拟器
比较出名的Android
手机三方模拟器有雷电、夜神、网易MuMu等,雷电不支持macOS
系统,后两者是支持的,以网易MuMu为例,下载mac
版本,链接地址为https://mumu.163.com/update/other/:
安装后启动,启动成功界面如下:
MuMu模拟器启动
模拟器启动成功后,可以在命令行通过adb devices
查询到模拟器设备:
四、结语
至此,在macOS
系统下安装Appium
环境搭建完成,下一步就是编写自动化测试用例去操作手机或者模拟器。
总结一下需要如何将Appium
环境运行起来:
- 启动
Appium
服务器,使用appium
命令,请参考第2部分
的章节4
。
- 启动
- 启动模拟器或连接真实手机,如何使用模拟器请参考本文
第3部分
。
- 启动模拟器或连接真实手机,如何使用模拟器请参考本文
- 使用
Appium
客户端编写测试脚本,如何基于python
编写第一个自动化测试用例,可以参考文章第一个Appium自动化测试用例。
- 使用
网友评论