通过Selenium 3.0.0 beta3启动集线器时无法定义maxInstances

时间:2016-09-26 16:08:32

标签: selenium command-line-arguments selenium-grid jcommander

我一直在使用selenium-server-standalone-2.53.0.jar,并且最近尝试升级到版本3.0.0-beta3

我尝试使用maxInstances参数使用以下命令启动集线器:

java -jar %~dp0DriverRepo\selenium-server-standalone-3.0.0-beta3.jar -role hub -port 5555 -maxInstances 9

这在2.53.0中有效,但在3.0.0-beta3我遇到了以下异常:

Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -maxInstances
    at com.beust.jcommander.JCommander.parseValues(JCommander.java:742)
    at com.beust.jcommander.JCommander.parse(JCommander.java:282)
    at com.beust.jcommander.JCommander.parse(JCommander.java:265)
    at com.beust.jcommander.JCommander.<init>(JCommander.java:210)
    at org.openqa.grid.selenium.GridLauncherV3$2.setConfiguration(GridLauncherV3.java:224)
    at org.openqa.grid.selenium.GridLauncherV3.buildLauncher(GridLauncherV3.java:138)
    at org.openqa.grid.selenium.GridLauncherV3.main(GridLauncherV3.java:67)

显然maxInstances不再是有效的论据。我搜索了有关使用maxInstances参数可能发生的任何更改的文档,但我没有运气。有没有其他人遇到过这个问题,或者是否有人知道以类似的方式在3.0.0-beta3中启动集线器的正确方法?

1 个答案:

答案 0 :(得分:0)

我不记得曾经使用过maxInstances这个论点。我认为之前没有验证无效的命令行参数,但是对于Selenium 3,它们可能启用了它。

以下是我觉得我的理论是真实的原因

Selenium 2.53.1输出,其中我提供了一个名为krishnan的无效参数 selenium-server -role hub -krishnan 100 22:28:37.762 INFO - Launching Selenium Grid hub 2016-09-26 22:28:38.366:INFO::main: Logging initialized @758ms 22:28:38.378 INFO - Will listen on 4444 22:28:38.421 INFO - Will listen on 4444 2016-09-26 22:28:38.424:INFO:osjs.Server:main: jetty-9.2.z-SNAPSHOT 2016-09-26 22:28:38.452:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@32eebfca{/,null,AVAILABLE} 2016-09-26 22:28:38.479:INFO:osjs.ServerConnector:main: Started ServerConnector@6ec8211c{HTTP/1.1}{0.0.0.0:4444}

以下是Selenium 3 beta版本对同一命令行的行为。

java -jar selenium-server-standalone-3.0.0-beta2.jar -role hub -krishnan 100 Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -krishnan at com.beust.jcommander.JCommander.parseValues(JCommander.java:742) at com.beust.jcommander.JCommander.parse(JCommander.java:282) at com.beust.jcommander.JCommander.parse(JCommander.java:265) at com.beust.jcommander.JCommander.<init>(JCommander.java:210) at org.openqa.grid.selenium.GridLauncherV3$2.setConfiguration(GridLauncherV3.java:216) at org.openqa.grid.selenium.GridLauncherV3.buildLauncher(GridLauncherV3.java:130) at org.openqa.grid.selenium.GridLauncherV3.main(GridLauncherV3.java:67)

Selenium从来没有任何名为maxInstances的参数。它只有一个名为maxSession`的东西。

maxInstances的唯一用法是在节点配置文件中,如here所示,它通过-nodeConfig参数传递给Selenium节点。这表示可以在节点中打开的每种浏览器风格的并发浏览器实例数。