美文网首页
Appium框架搭建:macOS系统下Android设备自动化测

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

作者: Domibaba | 来源:发表于2023-07-08 15:33 被阅读0次

    一、概述

      本文将介绍如何在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自动化测试用例

    相关文章

      网友评论

          本文标题:Appium框架搭建:macOS系统下Android设备自动化测

          本文链接:https://www.haomeiwen.com/subject/pnkhudtx.html