谁能解释“硒服务器”和“硒服务器独立”罐子之间的区别以及两者的使用。
更喜欢哪一个?什么时候用哪一个?
根据Selenium 文档,
您可能需要也可能不需要 Selenium 服务器,具体取决于您打算如何使用 Selenium-WebDriver。如果您只使用 WebDriver API,则不需要 Selenium-Server。如果您的浏览器和测试都将在同一台机器上运行,并且您的测试只使用 WebDriver API,那么您不需要运行 Selenium-Server;WebDriver 将直接运行浏览器。
将 Selenium-Server 与 Selenium-WebDriver 一起使用是有一些原因的。
这是旧版 selenium 网站的照片:
Selenium Server 以前称为 selenium RC 服务器。
我不能说确切的 selenium 服务器独立定义,但我可以根据版本说
在selenium server中standalone server是不同的
我相信“硒服务器”罐子是“硒服务器独立”罐子。如果您查看http://www.seleniumhq.org/download/ - 没有“硒服务器”之类的东西。
网格和 RC 服务器在同一个 jar 文件中。RC(“远程控制”)在 Selenium 2 中被弃用,并在 Selenium 3 中被模拟。
懒惰地,“selenium server Standalone”可以称为“selenium server”,因为它就是:代理到 selenium 网格或您想要自动化的任何远程浏览器。“独立”是 HTTP 服务器。
http://www.protractortest.org/#/infrastructure暗示了术语上的差异:在本地运行时它是“独立的”,而在远程网格上运行(独立 jar)时是“服务器”(这是一个 http 服务器,将作业分配给多个 selenium 服务器,每个都运行“独立”jar)。
如果通过Selenium Wiki的入门页面进入,则有一个selenium-release.storage.googleapis.com的下载链接。例如3.8 版本目录特性:
[DIR] selenium-server-3.8.1.zip 2017-12-01 19:21:38 20.58MB
[DIR] selenium-server-standalone-3.8.1.jar 2017-12-01 19:17:06 21.79MB
所以确实有两个版本。这似乎是一个包装问题:
selenium-server-3.8.1.zip
包含一个文件和作为文件的selenium-3.8.1-nodeps.jar
依赖类.jar
(“zip 中的 jars”):
..
---x------ 63504 1-Feb-1985 00:00:00 libs/jcommander-1.48.jar
..
---x------ 857721 1-Feb-1985 00:00:00 selenium-3.8.1-nodeps-sources.jar
---x------ 2137810 1-Feb-1985 00:00:00 selenium-3.8.1-nodeps.jar
而selenium-server-standalone-3.8.1.jar
包含依赖类和它自己的类作为直接条目(“jar 中的类文件”):
..
-rw-rw-rw- 1014 10-Apr-2015 19:45:56 com/beust/jcommander/DynamicParameter.class
-rw-rw-rw- 237 10-Apr-2015 19:45:56 com/beust/jcommanderFuzzyMap$IKey.class
-rw-rw-rw- 2910 10-Apr-2015 19:45:56 com/beust/jcommander/FuzzyMap.class
..
Selenium 是一个开源的 Web 应用程序自动化测试工具套件,提供跨平台和跨浏览器自动化工具。
Selenium 由多个软件工具组成,包括:- (1)。硒 IDE,(2)。硒 RC,(3)。Selenium WebDriver,(4)。硒网格
来到 Selenium Server,Selenium Server 是一个 Selenium RC(Remote Control) 组件,它启动和杀死浏览器,解释和运行测试程序传递的 Selenese 命令,并充当 HTTP 代理,拦截和验证传递的 HTTP 消息在浏览器和 AUT(被测应用程序)之间。
因此,需要 Selenium Server 在使用 Selenium Grid 的多台机器或 VM 上远程运行 Selenium RC 和 Selenium WebDriver 测试。
Selenium Server Standalone 是一个捆绑的 jar,包含 WebDriver API、Selenium Server 和 Selenium Grid,用于跨许多平台和浏览器在本地和远程运行测试。
需要 Selenium 服务器才能运行 Remote Selenium WebDriver。Selenium 3.X 不再能够直接运行 Selenium RC,而是通过仿真和 WebDriverBackedSelenium 接口来实现。
见https://docs.seleniumhq.org/download/
所以,如果你使用Selenium RC,Selenium Server 就是你所需要的。如果你使用Selenium 3.X和更新,selenium-server-standalone 就是你所需要的。我有同样的问题,我找到了答案。