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

周鹏 · December 06, 2017 · Last by Sutune replied at January 13, 2018 · 4800 hits

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 条回复 时间 点赞

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

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

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

明白了,非常感谢!

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
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up