Appium AppiumServer&AppiumClient&AppiumGUI 分别是什么?有什么区别?

周鹏 · 2017年12月06日 · 最后由 Sutune 回复于 2018年01月13日 · 2492 次阅读

AppiumServer&AppiumClient&AppiumGUI 分别是什么?有什么区别?

最佳回复

Client 就是 language binding 的东西,这是从 selenium 借鉴过来的,这是为什么可以支持多语言的原因。你写的脚步会转化成命令发到 server.server 会调用 WDA 操作 App

Appium

这是 appium 体系的核心,因为他本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。这个工具也是出名的难装,虽然安装只需要一行命令npm install -g appium,但是很多小白基本安装不起来。条件要求很苛刻。

Appium 图形工具

为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium Desktop,界面如下

因为它内嵌了 appium,很多小白会以为它叫 appium,其实它是个综合性的桌面工具。只有分析时候采用。平时都是用 appium

Appium Client

appium 只是一个 web 接口,他接受 http 请求,所以各个语言都可以自己封装发送请求,于是就有 appium 下的各个子项目。
这个连接里面列举了所有的 appium 的 client

Language/Framework Github Repo and Installation Instructions
Ruby https://github.com/appium/ruby_lib
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
JavaScript (Node.js) https://github.com/admc/wd
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/jollychang/robotframework-appiumlibrary
共收到 5 条回复 时间 点赞

Appium

这是 appium 体系的核心,因为他本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。这个工具也是出名的难装,虽然安装只需要一行命令npm install -g appium,但是很多小白基本安装不起来。条件要求很苛刻。

Appium 图形工具

为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium Desktop,界面如下

因为它内嵌了 appium,很多小白会以为它叫 appium,其实它是个综合性的桌面工具。只有分析时候采用。平时都是用 appium

Appium Client

appium 只是一个 web 接口,他接受 http 请求,所以各个语言都可以自己封装发送请求,于是就有 appium 下的各个子项目。
这个连接里面列举了所有的 appium 的 client

Language/Framework Github Repo and Installation Instructions
Ruby https://github.com/appium/ruby_lib
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
JavaScript (Node.js) https://github.com/admc/wd
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/jollychang/robotframework-appiumlibrary

Client 就是 language binding 的东西,这是从 selenium 借鉴过来的,这是为什么可以支持多语言的原因。你写的脚步会转化成命令发到 server.server 会调用 WDA 操作 App

明白了,非常感谢!

非常感谢回答,这部分清楚了,那 AppiumGUI 和之前的 AppiumService 有什么关系,还是说是同一个东西的一种 GUI 的集合?

Appium Server

Appium Server 就是 Appium 的服务端——一个 web 接口服务,使用 Node.js 实现。引用官网解释说明。

Appium is a server written in Node.js. It can be built and installed from source or installed directly from NPM:

$ npm install -g appium
$ appium

Appium Desktop

Appium Desktop 是一款适用于 Mac,Windows 和 Linux 的开源应用程序,它以美观而灵活的用户界面为您提供 Appium 自动化服务器的强大功能。 它是几个 Appium 相关工具的组合:

  1. Appium Server 的图形界面。 您可以设置选项,启动/停止服务器,查看日志等...您也不需要使用 Node / NPM 来安装 Appium,因为 Node 运行时与 Appium Desktop 捆绑在一起。

  1. 您可以使用 Inspector 查看应用程序的元素,获取有关它们的基本信息,并与它们进行基本的交互。 这是学习 Appium 的一种方式,或者作为学习应用程序的一种方式,因此您可以为其编写测试。
注意

Appium Desktop 与 Appium 不同。 Appium Desktop 是 Appium 的图形前端,带有其他工具。 Appium Desktop 以其自己的节奏发布,并拥有自己的版本控制系统。
就像国内很多定制的 Android 系统有自己版本号,但是都是基于一个 Android 系统版本封装的。版本号不一定与 Andriod 原生系统版本号一致。如:魅族的 flyme6.0 系统的内核是 Android 5.1

Appium GUI

Appium GUI 是 Appium desktop 的前身。
这个也是把 Appium server 封装成了一个图形界面,降低使用门槛,如同最初的操作系统 Dos 都是敲命令,后面都是图形界面操作系统,如 Windows 系统。很多初学者对下面这个界面应该不陌生吧,这个就是 Windows 版本的 Appium GUI 界面。测试人员可以手动启动,配置相关 server 服务,如果不用这个启动的话,需要命令启动服务。因为大部分教程都是基于这个 GUI 来讲解的,所以很多人一说 Appium 就认为是这个。

该产品的 Windows 版本在 2015 年的AppiumForWindows_1_4_16_1.zip之后就停止更新了。目前版本可以使用,但是封装的不是最新的 Appium 版本,而是 1.4.16 版本。如果要使用最新的桌面版需要使用Appium Desktop

历史版本下载

项目 github 地址

Appium Clients

因为 Appium 是一个 C/S 结构,有了服务端的肯定还有客户端,Appium Clients 就是客户端,它会给服务端 Appium Server 发送请求会话来执行自动化任务。就像我们浏览器访问网页,浏览器是客户端,通过操作发送请求服务器来获取数据。
Appium 客户端可以使用不同的语言来实现,如 Python,java 等。具体详见下表:

Language/Framework Github Repo and Installation Instructions
Ruby https://github.com/appium/ruby_lib
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
JavaScript (Node.js) https://github.com/admc/wd
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/jollychang/robotframework-appiumlibrary
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册