Python自动化-APPium原理解析与实际测试案例分享

目录结构

一、Appium概述

  1. Appium架构原理
  2. 运行原理
    1)Appium服务器
    2)Bootstrap.jar
    3)Appium客户端
    二、Appium组件
    三、Appium环境搭建
  3. Node.js安装
  4. Appium安装
  5. Appium-Desktop安装
  6. Python安装
  7. Appium-Python-Client安装
  8. JDK安装、Android SDK安装
  9. 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进行通信
    Python自动化-APPium原理解析与实际测试案例分享_第1张图片
    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
Python自动化-APPium原理解析与实际测试案例分享_第2张图片
2. Appium安装
传送门:https://github.com/appium/appium/release

你可能感兴趣的:(软件测试,软件测试,python)