2016-06-09 110 views
1

我有一段代码应该在运行在Fedora 23机器上的远程Selenium WebDriver上运行,并尝试调用Firefox浏览器。 我用下面的错误立即失败:未能在Fedora上启动Selenium WebDriver

17:54:30.300 INFO - Launching a standalone Selenium Server 
17:54:30.332 INFO - Java: Oracle Corporation 25.91-b14 
17:54:30.335 INFO - OS: Linux 4.2.3-300.fc23.x86_64 amd64 
17:54:30.346 INFO - v2.52.0, with Core v2.52.0. Built from revision 4c2593c 
17:54:30.403 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: 
registration capabilities Capabilities [{ensureCleanSession=true, browserName=internet explorer, version=, platform=WINDOWS}] does not match the current platform LINUX 
17:54:30.404 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped: 
registration capabilities Capabilities [{browserName=MicrosoftEdge, version=, platform=WINDOWS}] does not match the current platform LINUX 
17:54:30.405 INFO - Driver class not found: com.opera.core.systems.OperaDriver 
17:54:30.405 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered 
17:54:30.406 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 LINUX 
17:54:30.474 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub 
17:54:30.475 INFO - Selenium Server is up and running 
17:54:37.155 INFO - Executing: [new session: Capabilities [{browserName=firefox}]]) 
17:54:37.164 INFO - Creating a new session for Capabilities [{browserName=firefox}] 
17:54:42.961 WARN - Exception thrown 
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 
Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42' 
System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.3-300.fc23.x86_64', java.version: '1.8.0_91' 
Driver info: driver.version: unknown 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) 
    at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:183) 
    at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSession.java:119) 
    at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:95) 
    at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:124) 
    at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:59) 
    at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:1) 
    at org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111) 
    at org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:79) 
    at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:202) 
    at org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:164) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 
    at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:130) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) 
    at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:680) 
    at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.java:571) 
    at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526) 
    at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1479) 
    at org.openqa.jetty.http.HttpServer.service(HttpServer.java:920) 
    at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820) 
    at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986) 
    at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837) 
    at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243) 
    at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:358) 
    at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:537) 
Caused by: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 
Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42' 
System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.3-300.fc23.x86_64', java.version: '1.8.0_91' 
Driver info: driver.version: unknown 
    at org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:101) 
    at org.openqa.selenium.remote.server.FirefoxDriverProvider.newInstance(FirefoxDriverProvider.java:68) 
    at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60) 
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222) 
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:91) 
    ... 9 more 
Caused by: org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42' 
System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.3-300.fc23.x86_64', java.version: '1.8.0_91' 
Driver info: driver.version: FirefoxDriver 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:129) 
    ... 14 more 
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:7055 [/127.0.0.1] failed: Connection refused 
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151) 
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) 
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) 
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) 
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) 
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) 
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) 
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) 
    at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:162) 
    at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:90) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142) 
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:160) 
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:380) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644) 
    ... 19 more 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74) 
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134) 
    ... 34 more 

任何想法,为什么会这样呢?在谷歌搜索并没有真正的答案。 我使用以下命令运行WebDriver:

java -jar /home/selenium-webdriver/selenium-server-standalone-2.53.0.jar -ensureCleanSession -trustAllSSLCertificates *custom /usr/bin/firefox & 

谢谢!

+0

堆栈跟踪信息清楚地告诉它:连接到端口7055拒绝了,大多数时候它是一个Firefox版本/硒版本不兼容。 –

+0

什么是两个稳定版本使用?你能否更新? – coderunner

回答

1

我掉了下来的Firefox几个版本,它解决了这个问题对我来说

+0

你可以具体与两个。我正在运行FF 47和硒驱动程序2.53.1 – coderunner

+1

这是47,我回复了44 –

+0

谢谢!将检查和更新。 – coderunner