硒服务器 "Not Found"

Selenium server "Not Found"

我在 Windows 机器(Windows Server 2012 R2 Standard)上使用 latest Selenium 独立服务器(3.0.0-beta2) Java 已安装(java 版本“1.8.0_101”)。

我正在使用以下命令执行 JAR:

java -jar selenium-server-standalone-3.0.0-beta1.jar -port 8888

现在,当我请求 http://localhost:8888 时,我收到 Jetty 的 HTTP 404 错误:

HTTP ERROR: 404

Problem accessing /. Reason:

    Not Found
Powered by Jetty://

端口 8888 空闲,未被任何其他程序使用。

这是我启动服务器时的控制台输出:

11:17:26.292 INFO - Selenium build info: version: '3.0.0-beta1',     revision: '8e4315c'
11:17:26.292 INFO - Launching a standalone Selenium Server
2016-08-03 11:17:26.371:INFO::main: Logging initialized @1176ms
11:17:26.542 INFO - Driver class not found: com.opera.core.systems.OperaDriver
11:17:26.542 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
11:17:26.558 INFO - Driver provider org.openqa.selenium.safari.SafariDriver registration is skipped:
registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform WIN8
2016-08-03 11:17:26.700:INFO:osjs.Server:main: jetty-9.2.15.v20160210
2016-08-03 11:17:26.793:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@6d8a00e3{/,null,AVAILABLE}
2016-08-03 11:17:27.027:INFO:osjs.ServerConnector:main: Started ServerConnector@1d057a39{HTTP/1.1}{0.0.0.0:8888}
2016-08-03 11:17:27.027:INFO:osjs.Server:main: Started @1839ms
11:17:27.043 INFO - Selenium Server is up and running

尝试实例化 RemoteWebDriver(使用 .NET API)时出现以下异常:

new RemoteWebDriver(new Uri("http://127.0.0.1:8888"), DesiredCapabilities.HtmlUnitWithJavaScript())

An unhandled exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll

Additional information: Unexpected error.

Error 405

HTTP ERROR: 405

Problem accessing /session. Reason:

    HTTP method POST is not supported by this URL


Powered by Jetty://

您在实例化 RemoteWebDriver 时指定的端点不正确。

请将"http://127.0.0.1:8888"更改为"http://127.0.0.1:8888/wd/hub"并重试。

http://localhost:8888 给您错误的原因是没有定义为服务所有端点的默认 servlet。这就是

HTTP ERROR: 404

Problem accessing /. Reason:

    Not Found
Powered by Jetty://

暗示。如果是与端口相关的错误,当您尝试启动服务器本身时,您会看到来自 Java 的错误以及 JVM_Bind 消息。

最后,您似乎正在启动一个 selenium 服务器,然后使用 RemoteWebDriver 与其对话。在这种情况下您不涉及网格设置的任何具体原因?

如果您打算 运行 您的 selenium 服务器在不同的机器上并且您的测试在不同的机器上分离,您应该考虑为此利用 Selenium Grid。

如果您 运行 在执行测试的同一台机器上使用 selenium 服务器,那么您最好跳过 selenium 服务器的使用,直接使用具体的浏览器实现。