Selenium server error: Unable to create new service chromedriverservice
Asked Answered
A

6

9

I am trying to run webdriverio on my windows 10 computer and keep running into the same issue when trying to run my test js file. So I run this -jar /your/download/directory/selenium-server-standalone-3.5.3.jar to start the server and that comes out with this output

13:06:19.471 INFO - Selenium build info: version: '3.5.3', revision: 'a88d25fe6b'
13:06:19.472 INFO - Launching a standalone Selenium Server
2018-02-16 13:06:19.503:INFO::main: Logging initialized @301ms to org.seleniumhq.jetty9.util.log.StdErrLog
13:06:19.564 INFO - Driver class not found: com.opera.core.systems.OperaDriver
13:06:19.600 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:
 registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform WIN10
13:06:19.640 INFO - Using the passthrough mode handler
2018-02-16 13:06:19.673:INFO:osjs.Server:main: jetty-9.4.5.v20170502
2018-02-16 13:06:19.697:WARN:osjs.SecurityHandler:main: [email protected]@3e9b1010{/,null,STARTING} has uncovered http methods for path: /
2018-02-16 13:06:19.703:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@3e9b1010{/,null,AVAILABLE}
2018-02-16 13:06:19.807:INFO:osjs.AbstractConnector:main: Started ServerConnector@4e7dc304{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}
2018-02-16 13:06:19.808:INFO:osjs.Server:main: Started @605ms
13:06:19.808 INFO - Selenium Server is up and running

So after that I opened up a new command line prompt and ran my test.js file that looks like this

var webdriverio = require('webdriverio');
var options = {
    desiredCapabilities: {
        browserName: 'chrome'
    }
};

webdriverio
    .remote(options)
    .init()
    .url('http://www.google.com')
    .getTitle().then(function(title) {
        console.log('Title was: ' + title);
    })
    .end()
    .catch(function(err) {
        console.log(err);
    });

And this is the error I get

{ Error: A new session could not be created.
    at end() - C:\Users\KenyaThompson\Desktop\test.js:16:6
  details: undefined,
  message: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown',
  type: 'RuntimeError',
  seleniumStack:
   { type: 'SessionNotCreatedException',
     message: 'A new session could not be created.',
     orgStatusMessage: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown' } }

Could someone please explain to me what I am doing wrong here? Also yes I already installed chromedriver via npm as well as wdio-chromedriver-service.

Alpers answered 16/2, 2018 at 21:15 Comment(2)
Possible duplicate of Error running Selenium automatically from Nightwatch.js with FirefoxShahaptian
Did you solve this?Atomic
S
13

Update your ChromeDriver version via webdriver-manager, as follows:

webdriver-manager clean
webdriver-manager update
webdriver-manager start

This will remove the older version, update with the latest stated in your built config, and restart the server. Hope this helps.

Sanatory answered 23/10, 2018 at 13:11 Comment(0)
S
8

The error you are seeing does gives us some hint about whats going wrong as follows :

   { type: 'SessionNotCreatedException',
     message: 'A new session could not be created.',
     orgStatusMessage: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown' }

It is clear from the error message that the ChromeDriver is not getting detected as you see the log message as Driver info: driver.version: unknown. The main reason of this error can be the incompatibility between the binaries you are using.

  • Your Selenium Client version is 3.5.3 released 2017-08-29T12:54:15.039Z
  • Your ChromeDriver version is unknown to us.
  • Your Chrome Browser version is unknown to us.

Solution

A quick solution would be to :

  • Update Selenium Client version to recent levels i.e. Selenium 3.9.1
  • Update ChromeDriver version to recent levels i.e. ChromeDriver 2.35
  • As per the Release Notes of ChromeDriver v2.35 update the Chrome Browser version to v62-64
  • Run CCleaner tool to wipe off the OS chores before and after executing your Test Suite
  • If your base version of Chrome Browser is olden uninstall Chrome Browser through Revo Uninstaller and install a recent GA released version of Chrome Browser
  • Execute your Test.
Shahaptian answered 17/2, 2018 at 7:4 Comment(0)
C
7

When you start your Grid Node, make sure the path to the chromedriver.exe in -Dwebdriver.chrome.driver parameter is correct: Example:

java -Dwebdriver.chrome.driver="C:\DEV\eclipse\MainWorkspace\webdrivers\chromedriver.exe" -jar selenium-server-standalone-3.141.59.jar -role node  -hub http://localhost:4444/grid/register -nodeConfig node-config.json > node_output.log 
Cottrill answered 23/9, 2019 at 19:43 Comment(1)
'-Dwebdriver.chrome.driver' is not recognized as an internal or external command, operable program or batch file.Unessential
G
1

(2020 Update)

If you are runnning Selenium Server 4 Alpha, you don't need to set chromedriver.exe path via command line, just make sure that the chromedriver exe file is in the same folder as the jar file

It took me quite a bit to figure out that Selenium Server does not include webdrivers (Firefox, Chrome, etc.) by default, they need to be downloaded separately.

Goldfarb answered 5/10, 2020 at 14:47 Comment(2)
I have chromedriver in test folder. It is not correct place?Rooney
What is "a test folder" in your case ? I don't understand your question.Goldfarb
F
0

Selenium Standalone Server is currently on Build 3.9.1.

It looks like you're running an older version of the standalone server. Perhaps the ChromeDriver version you're running might function better with an update to your Selenium Standalone Server?

http://www.seleniumhq.org/download/

Also, just to be sure... You have the latest version of the Windows Chrome Driver version? They're on 2.35 for the latest. https://chromedriver.storage.googleapis.com/index.html?path=2.35/

Felicefelicia answered 16/2, 2018 at 21:55 Comment(2)
So I updated the selenium server and I still receive the same error. I checked and my chrome driver version is indeed 2.35.0Alpers
Just curious have you tried to use another browser driver like Firefox with your test? Have you had any successful test runs or just have you only tried ChromeDriver? Also - What is your current version of Chrome Installed on the Machine?Felicefelicia
A
0

I had the same problem, was running selenium standalone server jar and chrome driver exe from different directories. Problem got fixed by running both from same directory.

Additive answered 20/6, 2022 at 21:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.