Appium框架搭建:macOS系统下Android设备自动化测试环境搭建

一、概述

  本文将介绍如何在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 验证安装结果

  命令行输入pythonpython3,会出现如下回显:

安装python

2、安装基于pythonAppium客户端

  安装完python3后,会自带python的包安装管理工具pip,因此在命令行执行如下命令(细节可以参考链接)安装Appium客户端:

pip install Appium-Python-Client

  安装完成后,输入如下命令检查是否安装成功:

pip show Appium-Python-Client

  正常安装会回显如下信息。


Appium客户端
3、安装基于python测试框架pytest

  这一步不是必须的,因为python本身自带单元测试框架unittestpytestpython下另外一款优秀的测试框架,可以根据个人喜好安装使用,安装命令如下:

pip install pytest

  安装之后使用如下命令查询安装结果:

pip show pytest

  安装成功后会显示如下信息:


安装pytest

第2部分: Appium服务端安装

1、安装JDK
1.1 下载安装包并安装

  JDK的下载链接如下,本文下载的是JDK 8u111,高版本的JDKAndroid SDK Manageruiautomatorviewer等工具有兼容性问题,导致打不开或者打开之后界面空白:
https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/java/jdk/8u111-b14/jdk-8u111-macosx-x64.dmg。下载的Mac OS Xdmg包,双击按照提示完成安装。

下载JDK安装包

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版本不同而不同)。

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,会弹出如下界面:

Android SDK Manager

  需要选中Platform-tools、Build-tools、Android API包进行安装:


例如:下载Android API21,对应Android5
2.4 验证安装结果

  命令行执行adb --version,会得到如下回显:

SDK安装结果

3、安装node.jsnpm

  Mac下安装推荐使用Homebrew来安装管理包,Homebrew的安装方法很简单,见https://www.jianshu.com/p/9e9cc8c06ccb

  执行如下命令安装node.js

brew install node

  安装完成后,npm会默认安装,检测是否安装成功,可以运行命令:

node -v
npm -v

  能正常回显版本号说明安装成功。

4、安装Appium

  Appium安装分为两部分,一部分是Appium server,另一部分是针对不同测试对象(例如AndroidiOSChrome等)需要安装的Driver

4.1 安装Appium server

  执行命令npm i -g appium@next安装,请参考官方链接
  执行完成后,输入appium命令,回显如下信息说明安装成功:

appium启动页面

4.2 安装Appium Driver

  Driver跟被测对象交互,目前官方维护的Driver如下表:

官方维护的Driver

因为本文的测试对象是Android,因此需要安装的DirverUiAutomator2,执行如下命令安装:

appium driver install uiautomator2

安装Driver

第3部分: 被测对象

  这里针对的就是Android设备,因此被测对象可以是模拟器,也可以是真实的Android手机,本文只针对模拟器进行说明。

1、创建模拟器AVD

  当不用真机进行调试时候,可以通过创建模拟器进行调试,创建Android手机模拟器(简称AVD)有两种方法:通过命令行创建和通过AVD Manager创建。

1.1 通过命令行创建AVD
  • 查看可创建的AVD列表

android list targets

  显示可能如下:


AVD列表
  • 创建一个AVD,name 为给AVD取的名称,id 为上一步查询到的AVDID。例如AVD名称是"Nexus10",AVDID是"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界面:

android avd

打开AVD Manager
  • 点击Create,填写信息后,点击OK保存即可,注意TargetCPU/ABI,可以使用Android SDK Manager下载对应版本的Android API,本文使用的是API 21

    创建AVD

  • 创建完成之后会显示在设备列表页


    创建完成
1.3 启动AVD

  除了从AVD Manager界面查看创建的AVD设备列表,还可以通过命令行执行android list avd来查看当前系统创建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查询到模拟器设备

adb查询到模拟设备

四、结语

  至此,在macOS系统下安装Appium环境搭建完成,下一步就是编写自动化测试用例去操作手机或者模拟器。

  总结一下需要如何将Appium环境运行起来:

    1. 启动Appium服务器,使用appium命令,请参考第2部分的章节4
    1. 启动模拟器或连接真实手机,如何使用模拟器请参考本文第3部分
    1. 使用Appium客户端编写测试脚本,如何基于python编写第一个自动化测试用例,可以参考文章第一个Appium自动化测试用例
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容