目录结构
一、Appium概述
1. Appium架构原理
2. 运行原理
1)Appium服务器
2)Bootstrap.jar
3)Appium客户端
二、Appium组件
三、Appium环境搭建
1. Node.js安装
2. Appium安装
3. Appium-Desktop安装
4. Python安装
5. Appium-Python-Client安装
6. JDK安装、Android SDK安装
7. Appium-doctor安装
一、Appium概述
Appium是一个开源自动化测试框架,使用WebDriver协议驱动IOS/Android/Windows应用程序,可用于原生、混合、移动Web应用程序的测试
Appium优势:
①可跨平台,同时支持Android、IOS
②支持多种语言:Java/Python/PHP/Ruby等等
③配置环境简易
④与Selenium有共通之处,便于快速上手
1. Appium架构原理
Appium是在手机操作系统自带的测试框架基础之上实现的, 对原有的自动化测试框架进行封装改良。
Android和IOS系统上使用的工具分别如下:
Android(>4.3):UIAutomator,Android4.3之后系统自带的UI自动化测试工具
Android(≤4.3):Selendroid,基于Android Instrumentation框架实现的自动化测试工具
IOS: UIAutomation(Instruments框架里面的一个模板),IOS系统自带的UI自动化测试工具,相当于IOS封装了UIAutomation
2. 运行原理
电脑端运行自动化测试脚本,调用的是webdriver的接口,appium server接收到电脑端发送过来的命令后会将这些命令转换为UIautomator可识别的命令,然后由UIautomator在移动设备上执行自动化测试。
Appium架构是由客户端(Appium Client)和服务器(Appium Server)两部分组成,客户端与服务端通过JSON Wire Protocol进行通信
1)Appium服务器
Appium服务器是Appium框架的核心,是基于Node.js实现的HTTP服务器,Appium服务器的主要功能是接受从Appium客户端发起的连接,监听从客户端发送来的命令,将命令发送给bootstrap.jar(IOS手机为bootstrap.js)执行,然后将命令的执行结果通过HTTP应答反馈给Appium客户端
2)Bootstrap.jar
Bootstrap.jar是在Android手机上运行的一个应用程序,它在手机上扮演TCP服务器的角色。当Appium服务器需要运行命令时, Appium服务器会与Bootstrap.jar建立TCP通信,并把命令发送给Bootstrap.jar,由Bootstrap.jar负责运行测试命令
3)Appium客户端
主要是指实现了Appium功能的WebDriver协议的客户端Library,它负责与Appium服务器建立连接,并将测试脚本的指令发送到Appium服务器。
现有的客户端Library有多种语言的实现,包括Ruby、Python、Java、JavaScript(Node.js)、 Object C、PHP、C#,而Appium的测试是在这些Library的基础之上进行开发的
二、Appium组件
-
Appium Server
Appium是一个C/S结构,包括Server和Client。Appium Server是Appium的服务端,作为一个Web接口服务,使用Node.js实现 -
Appium Desktop
Appium Server的图像界面,可设置启动or停止服务器、查看日志,可使用inspect查看应用程序的元素 -
Appium GUI
是Appium Desktop的前身,也是把Appium Server封装成一个图像界面 -
Appium Client
Appium Client作为客户端,会给服务端Appium Server端发送请求会话来执行自动化任务。类似使用浏览器访问网页,可使用不同的客户端浏览器(IE/Firefox/Chrome...)访问同一个网站,通过操作发送请求到服务器来获取数据
Appium Client可使用不同的语言来实现,如:Python/Java
Python:https://github.com/appium/python-client
Java:https://github.com/appium/java-client
三、Appium环境搭建
环境依赖:
Node.js
Appium
Appium-desktop
Appium-doctor
Appium-Python-Client
Python
JDK
Android SDK
1. Node.js安装
中文站传送门:http://nodejs.cn/download/
官网传送门:https://nodejs.org/download/release/latest/
检查安装效果:
node -v
npm -v
2. Appium安装
传送门:https://github.com/appium/appium/releases
Appium是由Node.js编写的,可直接利用包管理工具npm进行安装Appium:
npm install -g appium
但因网络特殊情况,常规网络下安装较慢甚至安装不成功,如下安装异常:
调整安装策略:
采用国内镜像源安装的方式,首先需要利用npm包管理工具安装cnpm,然后再利用cnpm安装Appium
镜像设置,安装cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
利用cnpm安装Appium:
# 安装最新版本
cnpm install -g appium
# 安装指定版本
cnpm install -g appium@版本号
查看appium安装路径:where appium
查看appium版本:appium -v
运行appium:appium
3. Appium-Desktop安装
appium-desktop是对Appium Server和Node.js依赖环境进行封装过的图形界面工具
传送门:https://github.com/appium/appium-desktop/releases
根据需要选择适配自己操作系统的版本进行下载,启动时直接运行即可(启动过程比较缓慢,内存占用较高。。。)
双击运行,耐心等待
配置参数:
查看保存在预设中的配置:
启用Appium服务:
检测手机元素,会话请求相关配置的修改界面:
获取appium server的日志内容:
停止appium server:
停止appium server后,关闭appium server监听的界面接即可返回到启动初始界面:
4. Python安装
传送门:https://www.python.org/downloads/
过程从略。。。
5. Appium-Python-Client安装
安装命令:pip install Appium-Python-Client
检查安装效果:进入python,输入from appium import webdriver回车后无异常
6. JDK安装、Android SDK安装
参看:Android系统基础:Android SDK和Android模拟器安装使用 | adb命令实践
7. Appium-doctor安装
appium-doctor可检测Appium整体依赖环境配置的情况
安装命令:cnpm install appium-doctor -g
检查安装效果:appium-doctor
若每一项安装依赖都提示"√",则表示Appium安装配置OK










网友评论