[TOC]
## Appium运行原理
Appium是一个开源的自动化框架,可用于测试**原生APP**,**混合型APP**和**WEB APP**。它通过**WebDriver协议**驱动iOS,Android和Windows系统app。
重要的是Appium是**跨平台**的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。
![](https://box.kancloud.cn/8e8009c735ae7a8708b37ddd54269943_849x321.jpg)
如图所示,appium主要分为三个点:**client端**,**server端**,及**移动设备**
* client端:用各类语言写的测试脚本
* server端:我们安装appium工具的那部分,专门用来监听并接收来自client端的请求,转发请求并控制移动设备执行测试,默认开启并监听4723接口
* 移动设备:支持三类设备,我们的最终目的:在设备上自动执行指定的操作
**整个执行过程包括**:
1. 在某台服务器上安装appium工具(server端),开启进程(默认4723端口)监听;
2. 编写测试脚本,放置到服务器上,执行该测试脚本(相当于发送命令给server端);
3. 移动设备接收到server端发送过来的命令,执行指定的操作。
## Appium 在 Android 上的架构
![](https://box.kancloud.cn/acd37953e2d65d4c5b412ae2bf7b01c0_697x366.png)
通过架构图,我们可以知道appium是基于WebDriver协议的,它利用Bootstrap调用google公布的android自动化测试框架UIautomator的命令来实现app自动化。
## 安装 java 运行环境
### 安装 java jdk
本书实例,使用jdk版本为:1.8.0_25,具体安装过程与环境变量设置,自行百度。
### 安装 android sdk
Android SDK提供给我们API库和开发工具构建,测试和调试应用程序,Android。简单来讲,Android SDK 可以看做用于开发和运行Android应用的一个软件。
使用Appium进行安卓APP自动化测试,需要安装sdk-tools、platform-tools与build-tools
官网下载地址:[https://developer.android.com/](https://developer.android.com/)
本书使用android sdk 已整合到百度云盘: [android_sdk](https://pan.baidu.com/s/1Bo0oO96CWPUDj6CrDWtzNw) 直接下载解压到本地,然后配置环境变量即可。
* 配置环境变量
首先创建系统变量`ANDROID_HOME`
![](https://box.kancloud.cn/870d03b19cf1a580760259edf4afe394_357x146.jpg)
然后在path中,添加`%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools`
* 测试adb命令
```cmd
C:\Users\Administrator>where adb
E:\android_sdk\platform-tools\adb.exe
C:\Users\Administrator>
C:\Users\Administrator>adb devices
List of devices attached
```
### 安装 android 模拟器
经过多个模拟器的使用测试,我推荐大家使用“雷电模拟器”,本书也主要使用“雷电模拟器”来进行开发与调试。
官网地址:[http://www.ldmnq.com/](http://www.ldmnq.com/)
本书使用版本:[ldinst_3.24.exe](https://pan.baidu.com/s/11QxISmmYpupIWOjVa1z6JQ)
安装后,启动模拟器,在cmd中用adb检查设备连接状态。
```cmd
C:\Users\Administrator>adb devices
List of devices attached
emulator-5554 device
```
## 安装 appium 服务端
官方下载:[http://appium.io/](http://appium.io/)
本书使用 [appium-desktop-setup-1.6.3.exe](https://pan.baidu.com/s/1IfB8JPNIlJ5vjJGlcJF8qg)
安装后,启动appium,运行后如下:
![](https://box.kancloud.cn/ca1c5fa0961190f56feb0f271079c5d8_459x378.jpg)
![](https://box.kancloud.cn/e1974ca796460d080d90988515551176_643x255.jpg)
## 安装 appium client library
```cmd
pip install Appium-Python-Client
```
本课程实例,使用的版本是:0.28
<br>
---
到此,我们已经安装好python appium 开发和运行环境啦~
下一节,我们开始进入学习如何编写python代码,来驱动安卓app自动化吧。
:-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg)