我一直在使用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
中启动集线器的正确方法?
答案 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节点。这表示可以在节点中打开的每种浏览器风格的并发浏览器实例数。