AppiumServer&AppiumClient&AppiumGUI 分别是什么?有什么区别?
Client 就是 language binding 的东西,这是从 selenium 借鉴过来的,这是为什么可以支持多语言的原因。你写的脚步会转化成命令发到 server.server 会调用 WDA 操作 App
这是 appium 体系的核心,因为他本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。这个工具也是出名的难装,虽然安装只需要一行命令npm install -g appium
,但是很多小白基本安装不起来。条件要求很苛刻。
为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium Desktop,界面如下
因为它内嵌了 appium,很多小白会以为它叫 appium,其实它是个综合性的桌面工具。只有分析时候采用。平时都是用 appium
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 体系的核心,因为他本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。这个工具也是出名的难装,虽然安装只需要一行命令npm install -g appium
,但是很多小白基本安装不起来。条件要求很苛刻。
为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium Desktop,界面如下
因为它内嵌了 appium,很多小白会以为它叫 appium,其实它是个综合性的桌面工具。只有分析时候采用。平时都是用 appium
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 的服务端——一个 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 是一款适用于 Mac,Windows 和 Linux 的开源应用程序,它以美观而灵活的用户界面为您提供 Appium 自动化服务器的强大功能。 它是几个 Appium 相关工具的组合:
Appium Desktop 与 Appium 不同。 Appium Desktop 是 Appium 的图形前端,带有其他工具。 Appium Desktop 以其自己的节奏发布,并拥有自己的版本控制系统。
就像国内很多定制的 Android 系统有自己版本号,但是都是基于一个 Android 系统版本封装的。版本号不一定与 Andriod 原生系统版本号一致。如:魅族的 flyme6.0 系统的内核是 Android 5.1
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。
因为 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 |