Having problem when running Selenium Maven project via Jenkins - selenium

Same project works fine locally.
Error details:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dorg.csanchez.jenkins.plugins.kubernetes.pipeline.ContainerExecDecorator.websocketConnectionTimeout=60
Running TestSuite
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Sep 22, 2021 1:46:44 PM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
/home/jenkins/.cache/selenium/chromedriver/linux64/x.x.x.x/chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
Sep 22, 2021 1:47:05 PM org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 127 (Exit value: 127)
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 31.459 sec <<< FAILURE! - in TestSuite
Test1(test.newTest) Time elapsed: 30.295 sec <<< FAILURE!
org.openqa.selenium.WebDriverException:
Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'XXX', time: '2018-11-14T08:17:03'
System info: host: 'xxx', ip: 'x.x.x.x', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1160.6.1.el7.x86_64', java.version: '11.0.10'
Driver info: driver.version: ChromeDriver
at test.newTest.Test1(newTest.java:48)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:27178/status] to be available after 20007 ms
at test.newTest.Test1(newTest.java:48)
Caused by: java.util.concurrent.TimeoutException
at test.newTest.Test1(newTest.java:48)
Results :
Failed tests:
newTest.Test1:48 » WebDriver Timed out waiting for driver server to start.
Bui...
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
Question:
Using chromedriver as Maven dependency in pom.xml file. Do I need to install Chrome browser on machine where Jenkins (on Linux) is installed ? I would really appreciate help on this.

Related

Can't launch selenium tests via selenese

When I launch selenese via this command :
java -jar selenese-runner.jar -d chrome --chromedriver chromedriver.exe -b http://localhost:8080 C:\Trunk\src\selenium\suiteTest
I get this error :
[2017-11-30 11:02:36.722 +01:00] [ERROR]jp.vmi.selenium.selenese.SeleneseRunnerRuntimeException: No such command: Build info: version: '3.5.3', revision: 'unknown', time: 'unknown' System info: host: 'WALOX', ip: '10.1.85.3', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version:'1.8.0_121'
I launch it in a folder that contains selenese-runner.jarv3.8.0 and a chromeDriver.exe v2.33.506120
This is all the stack just in case :
[2017-11-30 11:02:33.218 +01:00] [INFO] Start: Selenese Runner 3.8.0
Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 12619
Only local connections are allowed.
[2017-11-30 11:02:36.293 +01:00] [INFO] Detected dialect: OSS
[2017-11-30 11:02:36.300 +01:00] [INFO] Initial window size: system default
[2017-11-30 11:02:36.300 +01:00] [INFO] Initialized: ChromeDriver
[2017-11-30 11:02:36.308 +01:00] [INFO] Override base URL: http://localhost:8080
[2017-11-30 11:02:36.313 +01:00] [INFO] Timeout: 30000 ms
[2017-11-30 11:02:36.674 +01:00] [INFO] Start: TestSuite[suiteTest] (C:\Trunk\src\selenium\suiteTest)
[2017-11-30 11:02:36.712 +01:00] [INFO] Existing driver found.
[2017-11-30 11:02:36.720 +01:00] [INFO] Current speed: 0 ms/command
[2017-11-30 11:02:36.722 +01:00] [ERROR] jp.vmi.selenium.selenese.SeleneseRunnerRuntimeException: No such command:
Build info: version: '3.5.3', revision: 'unknown', time: 'unknown'
System info: host: 'WALOX', ip: '10.1.85.3', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_121'
Driver info: driver.version: unknown
[2017-11-30 11:02:36.724 +01:00] [INFO] End(0,000sec): TestSuite[suiteTest] (C:\Trunk\src\selenium\suiteTest)
[2017-11-30 11:02:36.724 +01:00] [INFO] Exit code: 3
[2017-11-30 11:02:37.430 +01:00] [INFO] Quit: ChromeDriver
I've looked on the net. It seems that I am the only person with this error in the world. I have no clue!
RESOLVED
In fact it was so stupid! I am using Selenium IDE on firefox to write the test, and I ve added an empty command line at the end which generate an empty entry in the generated HTML :
<tr>
<td></td>
<td></td>
<td></td>
</tr>
Which made the script to fail on this error!

How to run selenium test cases on a Digital Ocean Ubuntu server?

I am running my selenium test cases on a local machine using maven. But when I'm running the code on on my digitalocean Ubuntu server it is failing. I set the path of chromedriver but I'm getting the following error:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: TestNG652Configurator
Starting ChromeDriver 2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320) on port 25251
Only local connections are allowed.
May 17, 2017 6:16:28 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
May 17, 2017 6:17:29 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Configuring TestNG with: TestNG652Configurator
Tests run: 5, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 63.412 sec <<< FAILURE! - in TestSuite
invokeBrowser(datum.LoginTest) Time elapsed: 62.986 sec <<< FAILURE!
org.openqa.selenium.NoSuchSessionException: no such session
(Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.4.0-71-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 77 milliseconds
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
System info: host: 'devopspipe', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-71-generic', java.version: '1.8.0_131'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.4.0-71-generic x86_64), platform=ANY}]
Session ID: 513bf4635a1df42b52f11a16938c3b9d
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.ErrorHandler.createThrowable(ErrorHandler.java:216)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:635)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:658)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.maximize(RemoteWebDriver.java:882)
at datum.UtilsMethods.browserInvoke(UtilsMethods.java:77)
at datum.LoginTest.invokeBrowser(LoginTest.java:19)
Results :
Failed tests:
LoginTest.invokeBrowser:19 » NoSuchSession no such session
(Driver info: chr...
Tests run: 5, Failures: 1, Errors: 0, Skipped: 3
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:10 min
[INFO] Finished at: 2017-05-17T06:17:30+00:00
[INFO] Final Memory: 19M/46M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project DataVisualisation: There are test failures.
[ERROR]
[ERROR] Please refer to /home/sample-selenium-datum/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

error in selenium node when run as a cron job

I am facing an unusual error while my selenium script tries to run automation tests by connecting to node which has been started using crontab (as shown below)
#reboot sh /home/selenium/automation/nodeStartUp.sh &
The nodeStartUp.sh content is shown below:
#!/bin/bash
java -jar /home/selenium/automation/selenium-server-standalone-3.0.0-beta3.jar -role node -nodeConfig /home/selenium/automation/node.json -log /home/selenium/automation/node.log
The error shown is as below: (Note: This error does not appear when I start the script manually and execute the testcases)
09:25:08.919 INFO [20] org.openqa.grid.internal.utils.SelfRegisteringRemote - Registering the node to the hub: http://XXX.XXX.XXX.XXX:4444/grid/register
09:25:08.940 INFO [20] org.openqa.grid.internal.utils.SelfRegisteringRemote - The node is registered to the hub and ready to use
09:25:10.972 INFO [17] org.openqa.selenium.remote.server.DriverServlet - Executing: [new session: Capabilities [{browserName=chrome, version=, platform=ANY}]])
09:25:10.972 INFO [28] org.openqa.selenium.remote.server.DefaultDriverProvider - Creating a new session for Capabilities [{browserName=chrome, version=, platform=ANY}]
09:25:10.973 WARN [17] org.openqa.selenium.remote.server.DriverServlet - Exception thrown
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException
Build info: version: '3.0.0-beta3', revision: 'c7b525d', time: '2016-09-01 14:57:03 -0700'
System info: host: 'BLR-SOFT-195', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-96-generic', java.version: '1.8.0_101'
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:36)
at org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111)
at org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:185)
at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:204)
at org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:166)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:808)
at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:587)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.seleniumhq.jetty9.server.Server.handle(Server.java:499)
at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:310)
at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.seleniumhq.jetty9.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException
Build info: version: '3.0.0-beta3', revision: 'c7b525d', time: '2016-09-01 14:57:03 -0700'
System info: host: 'BLR-SOFT-195', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-96-generic', java.version: '1.8.0_101'
Driver info: driver.version: unknown
at org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:113)
at org.openqa.selenium.remote.server.DefaultDriverProvider.newInstance(DefaultDriverProvider.java:97)
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:209)
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)
... 1 more
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.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:103)
... 9 more
Caused by: java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
at com.google.common.base.Preconditions.checkState(Preconditions.java:199)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
... 14 more
09:25:10.974 WARN [17] org.openqa.selenium.remote.server.DriverServlet - Exception: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
Any help appreciated.
It seems a problem related to chromedriver.
The path to the driver executable must be set by the
webdriver.chrome.driver system property; for more information, see
https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest
version can be downloaded from
http://chromedriver.storage.googleapis.com/index.html
Where is your chromedriver located?
Which SO are you working in? Centos? Ubuntu? I recommend you to not run it in a cron. Instead you can create a service and see if it works:
Create a file in /etc/systemd/system/selenium-node.service
Add to the file:
[Unit]
Description=Run a selenium node
[Service]
ExecStart=/usr/bin/java -jar /route/to/selenium/selenium-server-standalone-2.52.0.jar -role node blablabla
Restart=on-abort
[Install]
WantedBy=multi-user.target
And run:
sudo systemctl daemon-reload
sudo systemctl start selenium-node.service
Or you can add sh /home/selenium/automation/nodeStartUp.sh at the end of the init.d file (but thats not the best option too).

PhantomJS or Selenium Standalone killed after first failed tests

I don't know if this is a Protractor or PhantomJS error.
I'm running this command, getting this log.
It seems like PhanthomJS or Selenium Standalone is dying after the fist fail test.
Do you need more logs/details to check where is the issue?
$ grunt accept:standalone --suite=list
Running "env:rde" (env) task
Running "shell:protractor_update" (shell) task
selenium standalone is up to date.
chromedriver is up to date.
Running "protractor_webdriver:start" (protractor_webdriver) task
Starting Selenium server
Started Selenium server: http://127.0.0.1:4444
Running "protractor:test" (protractor) task
Using the selenium server at https://localhost:4444/wd/hub
[launcher] Running 1 instances of WebDriver
Session created: loggingPrefs=org.openqa.selenium.logging.LoggingPreferences#255d17d7, count=1, browserName=phantomjs, phantomjs.binary.path=c:\git\clients\special-offers\node_modules\phantomjs\lib\phantom\phantomjs.exe, version=ANY
Preparing new session
.FF
Failures:
1) Special Offers list page should have a thumbnail, a title, a description and a CTA
Message:
NoSuchElementError: No element found using locator: By.cssSelector(".ss .details p.body-copy")
2) sssssssssssssss
Message:
UnknownError: Error communicating with the remote browser. It may have died.
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
System info: host: 'CBA-D013', ip: 'xxxxxx', os.name: 'Windows NT (unknown)', os.arch: 'amd64', os.version: '6.2', java.version: '1.6.0_26'
Driver info: driver.version: EventFiringWebDriver
Finished in 29.282 seconds
3 tests, 6 assertions, 2 failures
Session deleted: Keeping the Selenium server alive
c:\git\clients\special-offers\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:113
var template = new Error(this.message);
^
>>
>> Test failed but keep the grunt process alive.
Running "shell:kill_selenium" (shell) task
Shutting down Selenium server: http://127.0.0.1:4444
Done, without errors.
Bye all!

Intern 2.0 fails with local Selenium Grid

I'm new to the Intern framework and I'm trying to get a simple functional test running using a local Selenium Grid. It runs perfectly when I run Selenium as a standalone server, but when I try to use a Selenium Grid it fails. The browser launches, but only shows about:blank in the address bar. I'm using OS X 10.9.4 and running the tests in Chrome. I followed the instructions here to set up the grid, namely:
$ java -jar selenium-server-standalone-2.41.0.jar -role hub
$ java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register
$ node node_modules/intern/runner.js config=tests/intern
Here's my test:
registerSuite({
name: 'index',
"sample test": function () {
return this.remote
.get("http://www.google.com");
}
});
Here's the output I'm seeing from Intern:
$ node node_modules/intern/runner.js config=tests/intern
Listening on 0.0.0.0:9000
Starting tunnel...
Initialised chrome 36.0.1985.143 on MAC
Test main - index - sample test FAILED on chrome 36.0.1985.143 on MAC:
JavaScriptError: [POST http://localhost:4444/wd/hub/session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/execute / {"script":"return (function getCoverageData() {\n\t\t/*global __internCoverage:false */\n\t\treturn typeof __internCoverage !== 'undefined' && JSON.stringify(__internCoverage);\n\t}).apply(this, arguments);","args":[]}] Session [61150cc5-2cf0-42e4-adc7-bf27b4751ed2] was terminated due to FORWARDING_TO_NODE_FAILED
at Server._post <node_modules/intern/node_modules/leadfoot/Server.js:62:9>
at ProxiedSession._post <node_modules/intern/node_modules/leadfoot/Session.js:57:30>
at ProxiedSession.Session.execute <node_modules/intern/node_modules/leadfoot/Session.js:580:15>
at ProxiedSession.lang.mixin.get <node_modules/intern/lib/ProxiedSession.js:77:17>
at CompatCommand.<anonymous> <node_modules/intern/node_modules/leadfoot/Command.js:617:19>
at <node_modules/intern/node_modules/leadfoot/node_modules/dojo/Promise.js:256:37>
at runCallbacks <node_modules/intern/node_modules/leadfoot/node_modules/dojo/Promise.js:13:18>
at <node_modules/intern/node_modules/leadfoot/node_modules/dojo/Promise.js:204:17>
at Object.run [as _onImmediate] <node_modules/intern/node_modules/leadfoot/node_modules/dojo/Promise.js:143:29>
at processImmediate [as _immediateCallback] <timers.js:336:15>
at new CompatCommand <node_modules/intern/runner.js:195:14>
at <CompatCommand.target.(anonymous function) [as get] (/Users/myuser/intern-test-example/node_modules/intern/node_modules/leadfoot/Command.js:592:11)>
at Test.registerSuite.sample test [as test] <tests/functional/index.js:11:18>
at Test.run <node_modules/intern/lib/Test.js:154:19>
at <node_modules/intern/lib/Suite.js:212:13>
at signalListener <node_modules/intern/node_modules/dojo/Deferred.js:37:21>
at Promise.then.promise.then <node_modules/intern/node_modules/dojo/Deferred.js:258:5>
at <node_modules/intern/lib/Suite.js:211:46>
at process._tickCallback <node.js:419:13>
No unit test coverage for chrome 36.0.1985.143 on MAC
chrome 36.0.1985.143 on MAC: 1/1 tests failed
TOTAL: tested 1 platforms, 1/1 tests failed
Output from the Selenium hub:
$ java -jar selenium-server-standalone-2.41.0.jar -role hub
Aug 19, 2014 4:32:29 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a selenium grid server
2014-08-19 16:32:29.925:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT
2014-08-19 16:32:29.958:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContextHandler{/,null}
2014-08-19 16:32:29.965:INFO:osjs.AbstractConnector:Started SocketConnector#0.0.0.0:4444
Aug 19, 2014 4:32:59 PM org.openqa.grid.web.servlet.handler.RequestHandler process
INFO: Got a request to create a new session: Capabilities [{idle-timeout=60, browserName=chrome, name=tests/intern, selenium-version=2.41.0}]
Aug 19, 2014 4:33:04 PM org.openqa.grid.web.servlet.handler.RequestHandler process
INFO: Got a request to create a new session: Capabilities [{idle-timeout=60, browserName=chrome, name=tests/intern, selenium-version=2.41.0}]
Aug 19, 2014 4:33:04 PM org.openqa.grid.internal.ProxySet getNewSession
INFO: Available nodes: [host :http://X.X.X.X:5555]
Aug 19, 2014 4:33:04 PM org.openqa.grid.internal.BaseRemoteProxy getNewSession
INFO: Trying to create a new session on node host :http://X.X.X.X:5555
Aug 19, 2014 4:33:04 PM org.openqa.grid.internal.TestSlot getNewSession
INFO: Trying to create a new session on test slot {seleniumProtocol=WebDriver, platform=MAC, browserName=chrome, maxInstances=5}
Aug 19, 2014 4:33:06 PM org.openqa.grid.web.servlet.handler.RequestHandler process
SEVERE: cannot forward the request null
org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:867)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:115)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at org.openqa.grid.internal.TestSession.sendRequestToNode(TestSession.java:370)
at org.openqa.grid.internal.TestSession.forward(TestSession.java:227)
at org.openqa.grid.web.servlet.handler.RequestHandler.forwardRequest(RequestHandler.java:96)
at org.openqa.grid.web.servlet.handler.RequestHandler.process(RequestHandler.java:129)
at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.seleniumhq.jetty7.servlet.ServletHolder.handle(ServletHolder.java:565)
at org.seleniumhq.jetty7.servlet.ServletHandler.doHandle(ServletHandler.java:479)
at org.seleniumhq.jetty7.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.seleniumhq.jetty7.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at org.seleniumhq.jetty7.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.seleniumhq.jetty7.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.seleniumhq.jetty7.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at org.seleniumhq.jetty7.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.seleniumhq.jetty7.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.seleniumhq.jetty7.server.Server.handle(Server.java:349)
at org.seleniumhq.jetty7.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
at org.seleniumhq.jetty7.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
at org.seleniumhq.jetty7.server.AbstractHttpConnection.messageComplete(AbstractHttpConnection.java:903)
at org.seleniumhq.jetty7.server.AbstractHttpConnection$RequestHandler.messageComplete(AbstractHttpConnection.java:960)
at org.seleniumhq.jetty7.http.HttpParser.parseNext(HttpParser.java:897)
at org.seleniumhq.jetty7.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.seleniumhq.jetty7.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
at org.seleniumhq.jetty7.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
at org.seleniumhq.jetty7.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
at org.seleniumhq.jetty7.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.http.ProtocolException: Transfer-encoding header already present
at org.apache.http.protocol.RequestContent.process(RequestContent.java:92)
at org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:131)
at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:165)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:484)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
... 31 more
Output from the Selenium node:
$ java -jar selenium-server-standalone-2.39.0.jar -role node -hub http://localhost:4444/grid/regter
Aug 19, 2014 4:32:45 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a selenium grid node
16:33:00.598 INFO - Java: Oracle Corporation 24.60-b09
16:33:00.599 INFO - OS: Mac OS X 10.9.4 x86_64
16:33:00.603 INFO - v2.39.0, with Core v2.39.0. Built from revision ff23eac
16:33:00.654 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC
16:33:00.673 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:5555/wd/hub
16:33:00.674 INFO - Version Jetty/5.1.x
16:33:00.674 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
16:33:00.675 INFO - Started HttpContext[/selenium-server,/selenium-server]
16:33:00.675 INFO - Started HttpContext[/,/]
16:33:00.681 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler#511533be
16:33:00.681 INFO - Started HttpContext[/wd,/wd]
16:33:00.683 INFO - Started SocketListener on 0.0.0.0:5555
16:33:00.683 INFO - Started org.openqa.jetty.jetty.Server#2461e285
16:33:00.684 INFO - using the json request : {"class":"org.openqa.grid.common.RegistrationRequest","capabilities":[{"platform":"MAC","seleniumProtocol":"Selenium","browserName":"*firefox","maxInstances":5},{"platform":"MAC","seleniumProtocol":"Selenium","browserName":"*googlechrome","maxInstances":5},{"platform":"MAC","seleniumProtocol":"Selenium","browserName":"*iexplore","maxInstances":1},{"platform":"MAC","seleniumProtocol":"WebDriver","browserName":"firefox","maxInstances":5},{"platform":"MAC","seleniumProtocol":"WebDriver","browserName":"chrome","maxInstances":5},{"platform":"MAC","seleniumProtocol":"WebDriver","browserName":"internet explorer","maxInstances":1}],"configuration":{"port":5555,"register":true,"host":"X.X.X.X","proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy","maxSession":5,"role":"node","hubHost":"localhost","registerCycle":5000,"hub":"http://localhost:4444/grid/register","hubPort":4444,"url":"http://X.X.X.X:5555","remoteHost":"http://X.X.X.X:5555"}}
16:33:00.685 INFO - Starting auto register thread. Will try to register every 5000 ms.
16:33:00.685 INFO - Registering the node to hub :http://localhost:4444/grid/register
16:33:04.989 INFO - Executing: [new session: Capabilities [{idle-timeout=60, browserName=chrome, name=tests/intern, selenium-version=2.41.0}]] at URL: /session)
16:33:04.996 INFO - Creating a new session for Capabilities [{idle-timeout=60, browserName=chrome, name=tests/intern, selenium-version=2.41.0}]
Starting ChromeDriver (v2.10.267517) on port 17126
Only local connections are allowed.
16:33:06.089 INFO - Done: /session
16:33:06.175 INFO - Executing: [get: about:blank] at URL: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/url)
16:33:06.323 INFO - Done: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/url
16:33:06.337 INFO - Executing: [get local storage size] at URL: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/local_storage/size)
16:33:06.337 INFO - Executing: [get location context] at URL: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/location)
16:33:06.337 INFO - Executing: [take screenshot] at URL: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/screenshot)
16:33:06.339 INFO - Executing: [execute async script: arguments[0](true);, []] at URL: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/execute_async)
16:33:06.340 WARN - Exception thrown
org.openqa.selenium.UnsupportedCommandException: driver (org.openqa.selenium.chrome.ChromeDriver) does not support org.openqa.selenium.html5.LocationContext
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'myhost', ip: 'X.X.X.X', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.4', java.version: '1.7.0_60'
Driver info: driver.version: unknown
at org.openqa.selenium.remote.server.handler.html5.Utils.convert(Utils.java:81)
at org.openqa.selenium.remote.server.handler.html5.Utils.getLocationContext(Utils.java:42)
at org.openqa.selenium.remote.server.handler.html5.GetLocationContext.call(GetLocationContext.java:31)
at org.openqa.selenium.remote.server.handler.html5.GetLocationContext.call(GetLocationContext.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:170)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
16:33:06.340 WARN - Exception thrown
org.openqa.selenium.UnsupportedCommandException: driver (org.openqa.selenium.chrome.ChromeDriver) does not support org.openqa.selenium.html5.WebStorage
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'myhost', ip: 'X.X.X.X', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.4', java.version: '1.7.0_60'
Driver info: driver.version: unknown
at org.openqa.selenium.remote.server.handler.html5.Utils.convert(Utils.java:81)
at org.openqa.selenium.remote.server.handler.html5.Utils.getWebStorage(Utils.java:52)
at org.openqa.selenium.remote.server.handler.html5.GetLocalStorageSize.call(GetLocalStorageSize.java:31)
at org.openqa.selenium.remote.server.handler.html5.GetLocalStorageSize.call(GetLocalStorageSize.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:170)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
16:33:06.344 WARN - Exception: driver (org.openqa.selenium.chrome.ChromeDriver) does not support org.openqa.selenium.html5.LocationContext
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'myhost', ip: 'X.X.X.X', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.4', java.version: '1.7.0_60'
Driver info: driver.version: unknown
16:33:06.345 WARN - Exception: driver (org.openqa.selenium.chrome.ChromeDriver) does not support org.openqa.selenium.html5.WebStorage
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'myhost', ip: 'X.X.X.X', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.4', java.version: '1.7.0_60'
Driver info: driver.version: unknown
16:33:06.618 INFO - Done: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/screenshot
16:33:06.631 INFO - Done: /session/61150cc5-2cf0-42e4-adc7-bf27b4751ed2/execute_async
I know that the FORWARDING_TO_NODE_FAILED error is supposed to mean there's a network issue, but I don't see how that could be the case as everything is running locally. I've tried other Selenium versions (2.39, 2.40, 2.41, and 2.42.2) and other browsers (Firefox, Safari) with no luck. Any help would be appreciated here.
Selenium Grid is buggy and requires a Content-Length header on all non-GET requests (Selenium server standalone does not). Intern 2.0.3 works around this issue, so if you update to 2.0.3, things should just work.