【问题标题】:Unable to define maxInstances when launching hub via Selenium 3.0.0 beta3通过 Selenium 3.0.0 beta3 启动集线器时无法定义 maxInstances
【发布时间】:2016-09-27 01:06:41
【问题描述】:

我一直在使用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 中启动集线器的正确方法?

【问题讨论】:

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


    【解决方案1】:

    我不记得曾经使用过名为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 节点。这表示可以在节点中打开的每种浏览器风格的并发浏览器实例数。

    【讨论】:

    • 我明白了。你是 100% 正确的。我一直在那里争论无用,并认为这是必要的。当我第一次进行设置时,我一定是从一个不相关的示例中错误地提取了它。感谢您指出这一点!
    猜你喜欢
    • 2021-12-22
    • 2017-02-03
    • 1970-01-01
    • 2017-10-14
    • 2023-03-22
    • 2017-02-10
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多