Appium运行原理

Appium是一个开源的自动化框架,可用于测试原生APP,混合型APP和WEB APP。它通过WebDriver协议驱动iOS,Android和Windows系统app。

重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。

如图所示,appium主要分为三个点:client端,server端,及移动设备

  • client端:用各类语言写的测试脚本
  • server端:我们安装appium工具的那部分,专门用来监听并接收来自client端的请求,转发请求并控制移动设备执行测试,默认开启并监听4723接口
  • 移动设备:支持三类设备,我们的最终目的:在设备上自动执行指定的操作

整个执行过程包括:

  1. 在某台服务器上安装appium工具(server端),开启进程(默认4723端口)监听;
  2. 编写测试脚本,放置到服务器上,执行该测试脚本(相当于发送命令给server端);
  3. 移动设备接收到server端发送过来的命令,执行指定的操作。

Appium 在 Android 上的架构


通过架构图,我们可以知道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/

本书使用android sdk 已整合到百度云盘: android_sdk 直接下载解压到本地,然后配置环境变量即可。

  • 配置环境变量
    首先创建系统变量ANDROID_HOME

    然后在path中,添加%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools

  • 测试adb命令

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/
本书使用版本:ldinst_3.24.exe

安装后,启动模拟器,在cmd中用adb检查设备连接状态。

C:\Users\Administrator>adb devices
List of devices attached
emulator-5554   device

安装 appium 服务端

官方下载:http://appium.io/
本书使用 appium-desktop-setup-1.6.3.exe
安装后,启动appium,运行后如下:

安装 appium client library

pip install Appium-Python-Client