Selenium 服务器 HUB 设置到特定的 IP 和 PORT
Selenium server HUB setting up to specific IP and PORT
有人可以向我解释一下如何将 Selenium 服务器 HUB 正确设置为特定的 IP 和端口吗?我找到了这个 Bind selenium to a specific IP - Possible? 但我不确定正确的 IP 是什么,因为它是安全的。每个解决方案都使用不同的 IP 192..... 127.... 我选择哪个是重要还是无关紧要?
我的意思是如果有必要重启 HUB 是必要的,因为代码将引用相同的 HUB IP
一般来说,您想在 localhost
上设置 Selenium Grid HUB 并使用特定的 PORT您可以使用以下命令:
启动 Selenium 网格服务器(在端口 5786
上):
java -jar selenium-server-standalone-3.14.0.jar -role hub -port 5786
控制台日志:
20:25:31.123 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.14.0', revision: 'aacccce0'
20:25:31.139 INFO [GridLauncherV3.launch] - Launching Selenium Grid hub on port 5786
2020-02-10 20:25:31.998:INFO::main: Logging initialized @1573ms to org.seleniumhq.jetty9.util.log.StdErrLog
20:25:32.706 INFO [Hub.start] - Selenium Grid hub is up and running
20:25:32.707 INFO [Hub.start] - Nodes should register to http://192.168.1.125:5786/grid/register/
20:25:32.708 INFO [Hub.start] - Clients should connect to http://192.168.1.125:5786/wd/hub
现在,您可以访问 Selenium Grid HUB 访问 url http://localhost:5786/grid/console
如下:
从某种意义上说,您希望如何访问此中心很重要;只能来自同一台机器,或者也来自其他机器。
问题不在于硒,而在于联网;所以这是三个最常见的选项:
- 使用
127.0.0.1
- a.k.a。 "localhost",环回接口 - 集线器只能从同一台机器访问,不能从其他机器访问。根据定义,环回接口在网络中是不可路由的——所有数据包都在同一台主机内,因此——没有其他人可以向它发送数据包(因为他们的数据包不会离开他们的机器)。简而言之,对于这种情况,集线器和 selenium 客户端必须在同一台机器上。
192.168.x.y
、10.x.y.z
或者只是一个 IP 地址 a.b.c.d
- selenium hub 进程将绑定到这个地址,只要它是可达的,任何客户端都可以与它通信(与使用环回时仅在本地相比)。如果服务器有多个网络接口,则只能在您指定的接口上访问集线器。
0.0.0.0
- 这不是实际的 IP 地址(无法分配,仅用于 specific/special 情况,如 DHCP),但用于与 OS 通信进程想要绑定到主机上的 all 个可用 IP 地址。因此,如果它有 2 个网络接口,一个具有 ip 1.2.3.4
,另一个具有 192.168.100.57
,集线器将可以在它们两个上访问(加上 localhost,127.0.0.1
这也是一个地址)。顺便说一下,这是 Selenium Hub(以及大多数服务器服务)的默认行为。
因此,请根据您的需要选择一个 - 仅限于本地连接,如果有几个接口,则限制为特定接口,或者所有接口。
顺便说一句,您 link 提出的问题有点不同 - 显然,当它被提出时,Selenium 有一个错误,即绑定到特定地址不起作用,它总是使用0.0.0.0
选项。
我使用以下命令启动集线器(当系统连接到 VPN 时非常有用):
java -jar selenium-server-standalone-3.141.59.jar -role hub -host <IP Address> -port <port number>
有人可以向我解释一下如何将 Selenium 服务器 HUB 正确设置为特定的 IP 和端口吗?我找到了这个 Bind selenium to a specific IP - Possible? 但我不确定正确的 IP 是什么,因为它是安全的。每个解决方案都使用不同的 IP 192..... 127.... 我选择哪个是重要还是无关紧要?
我的意思是如果有必要重启 HUB 是必要的,因为代码将引用相同的 HUB IP
一般来说,您想在 localhost
上设置 Selenium Grid HUB 并使用特定的 PORT您可以使用以下命令:
启动 Selenium 网格服务器(在端口
5786
上):java -jar selenium-server-standalone-3.14.0.jar -role hub -port 5786
控制台日志:
20:25:31.123 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.14.0', revision: 'aacccce0' 20:25:31.139 INFO [GridLauncherV3.launch] - Launching Selenium Grid hub on port 5786 2020-02-10 20:25:31.998:INFO::main: Logging initialized @1573ms to org.seleniumhq.jetty9.util.log.StdErrLog 20:25:32.706 INFO [Hub.start] - Selenium Grid hub is up and running 20:25:32.707 INFO [Hub.start] - Nodes should register to http://192.168.1.125:5786/grid/register/ 20:25:32.708 INFO [Hub.start] - Clients should connect to http://192.168.1.125:5786/wd/hub
现在,您可以访问 Selenium Grid HUB 访问 url
http://localhost:5786/grid/console
如下:
从某种意义上说,您希望如何访问此中心很重要;只能来自同一台机器,或者也来自其他机器。
问题不在于硒,而在于联网;所以这是三个最常见的选项:
- 使用
127.0.0.1
- a.k.a。 "localhost",环回接口 - 集线器只能从同一台机器访问,不能从其他机器访问。根据定义,环回接口在网络中是不可路由的——所有数据包都在同一台主机内,因此——没有其他人可以向它发送数据包(因为他们的数据包不会离开他们的机器)。简而言之,对于这种情况,集线器和 selenium 客户端必须在同一台机器上。 192.168.x.y
、10.x.y.z
或者只是一个 IP 地址a.b.c.d
- selenium hub 进程将绑定到这个地址,只要它是可达的,任何客户端都可以与它通信(与使用环回时仅在本地相比)。如果服务器有多个网络接口,则只能在您指定的接口上访问集线器。0.0.0.0
- 这不是实际的 IP 地址(无法分配,仅用于 specific/special 情况,如 DHCP),但用于与 OS 通信进程想要绑定到主机上的 all 个可用 IP 地址。因此,如果它有 2 个网络接口,一个具有 ip1.2.3.4
,另一个具有192.168.100.57
,集线器将可以在它们两个上访问(加上 localhost,127.0.0.1
这也是一个地址)。顺便说一下,这是 Selenium Hub(以及大多数服务器服务)的默认行为。
因此,请根据您的需要选择一个 - 仅限于本地连接,如果有几个接口,则限制为特定接口,或者所有接口。
顺便说一句,您 link 提出的问题有点不同 - 显然,当它被提出时,Selenium 有一个错误,即绑定到特定地址不起作用,它总是使用0.0.0.0
选项。
我使用以下命令启动集线器(当系统连接到 VPN 时非常有用):
java -jar selenium-server-standalone-3.141.59.jar -role hub -host <IP Address> -port <port number>