Appium 介绍及环境安装

Appium是一个可用于测试iOS、 Android操作系统和Windows桌面平台原生应用,移动网页应用和混合应用的自动化测试框架。

原生应用(Native App):用 android、iOS或者Windows SDK编写的应用

移动网页应用(Web App):通过手机浏览器访问的网页应用,比如iOS中 safari应用,Android上的Chrome应用或者内置浏览器应用,不会占用手机的存储空间。

混合应用(Hybrid App):同时具备Native App和Web App的特性,一种 webview应用,将Javascript,HTML和CSS执行在embedded webview中,外层用Native App wrapper包起來。

Appium 介绍及环境安装

Appium 跨语言支持:Java、 Python、 Ruby、JavaScript (Node.js)、PHP、C# (.NET)、RobotFramework等,Appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。

Appium架构

Appium 介绍及环境安装

Appium引擎列表

Android 4.3+

UIAutomator

UIAutomator2[推荐]

iOS

UIAutomation (iOS ≤ 9.3)

XCUITest[推荐] (iOS ≥ 9.3)

Windows:

WinAppDriver

Appium的设计理念 Client/Server设计模式

Appium采用 C/S架构,Appium与客户端建立连接并监听命令,然后在移动设备上执行这些命令,命令执行结果通过 HTTP 响应的方式返回。客户端通过 WebDriver json wire协议与服务端通讯。由于Appium的这种特性,我们可以将Appium server放在与测试机不同的机器上。Appium Server是使用 Node.js 编写的HTTP服务。

Appium 介绍及环境安装

session 会话

Appium自动化执行时会首先拉起一个session会话,客户端和服务器之间初始化一个session,通过发送一个POST /session建立连接,客户端的post请求中携带一个称为 'desired capabilities‘ 的JSON对象,定义设备平台(iOS或Android)、版本、server地址等请求字段,后面的文章将详细介绍。服务器接收到请求后会建立一个session并回应一个session ID,建立好连接后就可以发送命令了。

Appium Clients

Appium支持多语言,包括Java, Ruby, Python, PHP, JavaScript, 和 C#,这些客户端库支持WebDriver 协议扩展。

语言/框架 Github仓库地址
Ruby   https://github.com/appium/ruby_lib, https://github.com/appium/ruby_lib_core  
Python   https://github.com/appium/python-client  
Java   https://github.com/appium/java-client  
JavaScript (Node.js)   https://github.com/admc/wd  
JavaScript (Node.js)   https://github.com/webdriverio/webdriverio  
JavaScript (Browser)   https://github.com/projectxyzio/web2driver  
Objective C   https://github.com/appium/selenium-objective-c  
PHP   https://github.com/appium/php-client  
C# (.NET)   https://github.com/appium/appium-dotnet-driver  
RobotFramework   https://github.com/serhatbolsu/robotframework-appiumlibrary  
Appium生态工具

adb:android的控制工具,用于获取 android的各种数据和控制

Appium Desktop:内嵌了 appium server和inspector的综合工具

Appium Server:appium的核心工具,命令行工具

Appium client:各种语言的客户端封装库,用于连接 appium server

AppCrawler:自动遍历工具

appium使用 appium-xcuitest-driver来测试iPhone设备,其中需要安装 facebook开发的WDA(webdriver agent)来驱动iOS测试,下面介绍Android APP测试环境安装。

Appium环境安装

Java1.8版本

Android sdk

Node.js(>=10 版本),npm(>=6 版本)

Python3

Appium-desktop

Appium python client

1、安装Node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境

Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

是运行在服务端的 JavaScript

https://nodejs.org/en/download/

Appium 介绍及环境安装

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygxpd.html