碰着搭建
分类:计算机编程

Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android、iOS等设备完成自动化测试,比如模拟点击、滑动、输入等操作,其官方网站为:。本节中,我们就来了解一下Appium的安装方式。


Appium Desktop

Appium Desktop是Appium服务器的图形界面,可以设置选项、启动/停止服务器、查看日志等,还可以使用Inspector来查看应用程序的元素与基本信息,甚至可以与元素进行交互。

访问Appium官网下载Appium-Desktop的dmg程序包,并打开安装完成后,在Launchpad中可以看到Appium已经安装完成:

图片 1

Launchpad屏幕截图

1. 相关链接

  • GitHub:
  • 官方网站:http://appium.io
  • 官方文档:
  • 下载链接:
  • Python Client:

Appium是一个自动化测试开源工具,支持iOS平台和Android平台上的原生应用,web应用和混合应用。Appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。

Android 环境

安装JDK1.8,并配置Java环境变量:

$ /usr/libexec/java_home
[保存得到JAVA_HOME的路径]
$ vim ~/.bash_profile
[按下i,显示insert,进入输入模式,输入如下配置]
JAVA_HOME="[JAVA_HOME的路径]"
CLASS_PATH="$JAVA_HOME/lib"
export PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME
[按esc,输入:wq!保存]
$ source ~/.bash_profile
$ echo $JAVA_HOME

安装18-25版本中的任一SDK和Android Support Repository,并配置Android环境变量:

$ vim ~/.bash_profile
[按下i,显示insert,进入输入模式,输入如下配置]
ANDROID_HOME="[ANDROID_HOME的路径]"
export PATH="$ANDROID_HOME/tools:$PATH"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/emulator:$PATH"
export ANDROID_HOME
[按esc,输入:wq!保存]
$ source ~/.bash_profile
$ echo $ANDROID_HOME

2. 安装Appium

首先,需要安装Appium。Appium负责驱动移动端来完成一系列操作,对于iOS设备来说,它使用苹果的UIAutomation来实现驱动;对于Android来说,它使用UIAutomator和Selendroid来实现驱动。

同时Appium也相当于一个服务器,我们可以向它发送一些操作指令,它会根据不同的指令对移动设备进行驱动,以完成不同的动作。

安装Appium有两种方式,一种是直接下载安装包Appium Desktop来安装,另一种是通过Node.js来安装,下面我们介绍一下这两种安装方式。


iOS 环境

下载Xcode8.3或者更高版本,安装Homebrew(一款常用的 MacOS 的包管理器)以使用brew命令。

安装usbmuxd以便于通过USB通道测试iOS真机:

$ brew install usbmuxd

安装ideviceinstallerios-deploy用来给真机安装App:

$ brew install ideviceinstaller
$ brew install ios-deploy

ios-webkit-debug-proxy以便于测试App中的WebView:

$ brew install ios-webkit-debug-proxy

Appium Desktop

Appium Desktop支持全平台的安装,我们直接从GitHub的Releases里面安装即可,链接为。目前的最新版本是1.1,下载页面如图所示。

图片 2

Windows平台可以下载exe安装包appium-desktop-Setup-1.1.0.exe,Mac平台可以下载dmg安装包如appium-desktop-1.1.0.dmg,Linux平台可以选择下载源码,但是更推荐用Node.js安装方式。

安装完成后运行,看到的页面如图所示。

图片 3

如果出现此页面,则证明安装成功。

1. 移动原生应用:用iOS或者Android SDK写的应用。
2. 移动web应用:使用移动浏览器访问的应用(Appium支持iOS上的Safari和Android上的Chrome)。
3. 混合应用:指原生代码封装网页视图,原生代码和web内容交互。

Python环境配置

因为使用python语言开发,所以需要先安装python的开发环境。Mac已经有了Python 2.x,但是还需要再安装一个python3:

xcode-select --install
[查看已有的python2.7版本]
$ python --version
[利用homebrew搜索python3]
$ brew search python
$ brew install python3

安装完成后可以在/usr/local/Cellar/下看到python3的文件夹,接下来就检查一下刚刚安装的python3与系统的python路径:

$ which python
$ which python3

现在只需要下载安装Appium-Python-Clien的tar.gz文件,并使用pip3 install命令即可:

$ pip3 install --upgrade pip
$ sudo pip3 install [Appium-Python-Clien的.tar.gz文件]
$ [输入密码]
$ sudo pip3 install pytest

然后,为了方便开发,可以下载PyCharm社区版来开发python项目。

Node.js

首先需要安装Node.js,具体的安装方式可以参见,安装完成之后就可以使用npm命令了。

接下来,使用npm命令全局安装Appium即可:

npm install -g appium

此时等待命令执行完成即可,这样就成功安装了Appium。

Appium 的理念

  1. 无须为了自动化而重新编译或修改测试APP
  2. 不让移动端自动化测试限定在某种语言和某个具体的框架,任何人都可以使用自己最熟悉的最顺手的语言及框架来做移动端自动化测试
  3. 无须为了移动端自动化测试而重新发明轮子,即重新写一套API,webdriver协议里的api已经够好,可以拿来改进使用
  4. 移动端自动化测试是开源的

3. Android开发环境配置

如果我们要使用Android设备做App抓取的话,还需要下载和配置Android SDK,这里推荐直接安装Android Studio,其下载地址为。下载后直接安装即可。

然后,我们还需要下载Android SDK。直接打开首选项里面的Android SDK设置页面,勾选要安装的SDK版本,点击OK按钮即可下载和安装勾选的SDK版本,如图所示。

图片 4

另外,还需要配置一下环境变量,添加ANDROID_HOME为Android SDK所在路径,然后再添加SDK文件夹下的tools和platform-tools文件夹到PATH中。

更详细的配置可以参考Android Studio的官方文档:。

Appium 设计思想

4. iOS开发环境

首先需要声明的是,Appium是一个做自动化测试的工具,用它来测试我们自己开发的App是完全没问题的,因为它携带的是开发证书(Development Certificate)。但如果我们想拿iOS设备来做数据爬取的话,那又是另外一回事了。一般情况下,我们做数据爬取都是使用现有的App,在iOS上一般都是通过App Store下载的,它携带的是分发证书(Distribution Certificate),而携带这种证书的应用都是禁止被测试的,所以只有获取ipa安装包再重新签名之后才可以被Appium测试,具体的方法这里不再展开阐述。

这里推荐直接使用Android来进行测试。如果你可以完成上述重签名操作,那么可以参考如下内容配置iOS开发环境。

Appium驱动iOS设备必须要在Mac下进行,Windows和Linux平台是无法完成的,所以下面介绍一下Mac平台的相关配置。

Mac平台需要的配置如下:

  • macOS 10.12及更高版本
  • XCode 8及更高版本

配置满足要求之后,执行如下命令即可配置开发依赖的一些库和工具:

xcode-select --install

这样iOS部分的开发环境就配置完成了,我们就可以用iOS模拟器来进行测试和数据抓取了。

如果想要用真机进行测试和数据抓取,还需要额外配置其他环境,具体可以参考。

1. 无须为了自动化而重新编译或修改测试APP

为了满足Appium理念的第一条,Appium真正的工作引擎其实是第三方自动化框架。因此,不需在APP中植入Appium相关或者第三方的代码,即测试使用的应用与最终发布的应用并无区别。 使用的第三方框架:

  • iOS:苹果的 UIAutomation
  • Android 4.2 :Google's UIAutomator
  • Android 2.3 :Google’s Instrumentation(Instrumentation由单独的项目Selendroid提供支持)
2. 不让移动端自动化测试限定在某种语言和某个具体框架中

为了满足Appium理念的第二条,Appium选择了client-server的设计模式。只要Client能够发送HTTP请求给Server,那么Client使用什么语言来实现都是可以的,Appium把第三方框架封装成一套API,指定客户端到服务器端的协议。目前已经实现了大多数流行语言版本的客户端,可是使用任何测试套件或者测试框架。

3. 不发明新的API

Appium扩展了webdriver的协议,没有自己重新去实现一套,好处是以前的webdriver api能够直接被继承过来,以前的webdriver各种语言的binding都可以拿来就用,省去为每种语言开发一个client的工作量。

4. 开源

这个不多说了

Appium 概念

C/S架构

Appium的核心是一个web服务器,它提供了一套REST的接口。并监听一个端口,接收由Client发送来的Command;翻译这些Command,把这些Command转成设备可以理解的形式发送给移动设备;移动设备执行完这些Command后把执行结果返回给Server;Server再把执行结果返回给Client。

这里的Client其实就是发起Command的设备,也就是执行Appium测试代码的机器。也可以吧Client理解成是代码,这些代码可以是java/ruby/python/js,只要实现了webdriver标准协议就可以。

Session

在webdriver/appium中,所有的工作都是在session start后才可以进行,即通过POST/session这个URL,然后传入 Desired Capabilities就可以开启session。

开启session后,返回一个全局唯一session id,以后几乎所有请求都必须带上这个session id,它代表你所打开的浏览器或者移动设备的模拟器。

Desired Capabilities

Desired Capabilities携带了一些配置信息。形式是key-value,实际上Desired Capabilities在传输时就是json对象。他的作用是告诉Server本次测试的上下文,例如,是测试ios还是android,具体测哪一个app。

Appium Server

在命令行用appium命令打开的东西。

Appium Clients

Appium官方提供一套appium client,涵盖多种语言,测试时,只用这些client库替代原生webdriver库,原生webdriver api是为web设计的,client库是对原生webdriver进行的移动端扩展,加入一些方便的方法,比如swipe等。

Appium Mac环境搭建

Appium安装方式主要有两种:
(1)自己安装配置nodejs的环境,通过npm进行appium的安装
(2)直接下载官网提供的dmg安装,dmg里面已经有nodejs环境和appium的可执行文件了

本文主要讲解直接使用dmg的安装方法,并在其过程中遇到的问题,想要了解第一种方法可见我的参考资料中的文章。

1. Java
java -version
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
2. git
git --version
git version 2.11.0 (Apple Git-81)
3. brew
brew -v
Homebrew 1.2.3
Homebrew/homebrew-core (git revision 7a8bf; last commit 2017-06-14)
4. node
brew install node
5. Android SDK

三种方式,关系到Android-SDK的路径,也关系到环境变量的配置

  1. 从官网上下载的SDK,并通过拖拽图标到Application文件夹中:
    SDK路径:/Applications/ADT/sdk
  2. 使用Homebrew下载:
    SDK路径:/usr/local/Cellar/android-sdk/{YOUR_SDK_VERSION_NUMBER}
  3. 安装Android Studio时自动下载SDK:
    SDK路径:/Users/{YOUR_USER_NAME}/Library/Android/sdk
6. 设置环境变量
  1. 找到 ~/.bash_profile(桌面空白位置使用快捷键shift comd G或终端命令行定位)
  2. 找到.bash_profile 文件,若没找到,则先创建,创建命令如下:
    touch .bash_profile
  3. 进行修改: vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME=[YOUR_ANDROID_SDK_PATH]
  1. 生效: source ~/.bash_profile
7. 下载Appium的dmg安装包

Appium的dmg安装包的下载地址是:https://bitbucket.org/appium/appium.app/downloads/

8. 验证Appium是否安装成功

从Launcher中打开Appium,点击右边第二个图标进行安装检测

图片 5

参考资料

Appium API文档
Appium简明教程
Appium的安装-Mac平台
Mac上安装Appium详细步骤
Appium for Mac环境准备篇
Appium Girls 学习指南

本文由pc28.am发布于计算机编程,转载请注明出处:碰着搭建

上一篇:教你用HTML5和JavaScript构建游戏,快速开发2D游戏引 下一篇:没有了
猜你喜欢
热门排行
精彩图文