Java Selenium服务器集线器设置到特定IP和端口

Java Selenium服务器集线器设置到特定IP和端口,java,selenium,ip,port,selenium-grid,Java,Selenium,Ip,Port,Selenium Grid,有人能告诉我如何正确地将Selenium服务器集线器设置到特定的IP和端口吗?我发现了这个,但我不确定什么是正确的IP,因为它将是安全的。每个解决方案都使用不同的IP 192。。。。。127.... 我选择哪一个重要还是无关紧要 我的意思是,如果有必要重新启动集线器,因为代码将引用相同的集线器IP。通常,您希望在localhost上设置Selenium网格集线器,并使用特定的端口,您可以使用以下命令: 启动Selenium网格服务器(位于端口5786): 控制台日志: 20:25:31.12

有人能告诉我如何正确地将Selenium服务器集线器设置到特定的IP和端口吗?我发现了这个,但我不确定什么是正确的IP,因为它将是安全的。每个解决方案都使用不同的IP 192。。。。。127.... 我选择哪一个重要还是无关紧要


我的意思是,如果有必要重新启动集线器,因为代码将引用相同的集线器IP。通常,您希望在
localhost
上设置Selenium网格集线器,并使用特定的端口,您可以使用以下命令:

  • 启动Selenium网格服务器(位于端口
    5786
    ):

  • 控制台日志:

    20:25:31.123 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.14.0', revision: 'aacccce0'
    20:25:31.139 INFO [GridLauncherV3$2.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网格中心访问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地址(无法分配,仅用于DHCP等特定/特殊情况),但用于与进程要绑定到主机上所有可用ip地址的操作系统通信。因此,如果它有两个网络接口,一个是ip
    1.2.3.4
    ,另一个是
    192.168.100.57
    ,那么在这两个接口上都可以访问集线器(加上本地主机,
    127.0.0.1
    ,这也是一个地址)。顺便说一下,这是SeleniumHub(和大多数服务器服务)的默认行为
因此,请根据您的需要选择一个,仅限于本地连接,如果您有少数接口,则选择一个特定接口,或者选择所有接口


顺便说一下,您链接到的问题有点不同——显然,当它被提出时,Selenium有一个bug,即绑定到特定地址不起作用,它总是使用
0.0.0
选项

我使用以下命令启动集线器(当系统连接到VPN时非常有用):

java-jar selenium-server-standalone-3.141.59.jar-role hub-host-port

答案基本上是错误的-根本没有传递主机参数,服务器也没有在本地主机上启动。通常,您不希望仅在本地主机上启动selenium hub,这违背了它用于分布式计算的目的。
20:25:31.123 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.14.0', revision: 'aacccce0'
20:25:31.139 INFO [GridLauncherV3$2.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
java -jar selenium-server-standalone-3.141.59.jar -role hub -host <IP Address> -port <port number>