Safaridriver not responding

Hi!

I'm starting to develop some automation tests for the new Safari 10 browser and I'm now stucked in a problem with Safari 10 safaridriver.


I'm using Selenium3.0.beta2 on El Capitan. I've installed Safari 10 developers beta there.

Selenium is being run in grid mode.

Before I run the tests, I enabled the Remote Automation in Develop menu in safari, and I executed the safaridriver with the option (port) -o 0 and 4444 and it doesn't work.


After talking about it in the GitHub Selenium developers group, it seems that the problem is related with SafariDriver.

Did some of you find the same problem?


Selenium log:


15:57:01.285 INFO - Executing: [new session: Capabilities [{marionette=false, browser=safari, name=Behat feature suite, browserName=safari, ignoreZoomSetting=false, version=, platform=MAC, tags=[Admins-MacBook-Pro-4.local, PHP 5.6.16]}]])

15:57:01.337 INFO - Creating a new session for Capabilities [{marionette=false, browser=safari, name=Behat feature suite, browserName=safari, ignoreZoomSetting=false, version=, platform=MAC, tags=[Admins-MacBook-Pro-4.local, PHP 5.6.16]}]

15:57:21.483 ERROR - org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)

15:57:22.096 WARN - Exception thrown

java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException

Build info: version: '3.0.0-beta2', revision: '2aa21c1', time: '2016-08-02 15:03:28 -0700'

System info: host: 'Devs-Mac-mini.local', ip: '192.168.10.159', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', 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:79)

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-beta2', revision: '2aa21c1', time: '2016-08-02 15:03:28 -0700'

System info: host: 'Devs-Mac-mini.local', ip: '192.168.10.159', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', 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: 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: '3.0.0-beta2', revision: '2aa21c1', time: '2016-08-02 15:03:28 -0700'

System info: host: 'Devs-Mac-mini.local', ip: '192.168.10.159', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_101'

Driver info: driver.version: SafariDriver

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:670)

at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:247)

at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)

at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:143)

at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:78)

at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:69)

... 14 more

Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.

Build info: version: '3.0.0-beta2', revision: '2aa21c1', time: '2016-08-02 15:03:28 -0700'

System info: host: 'Devs-Mac-mini.local', ip: '192.168.10.159', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_101'

Driver info: driver.version: SafariDriver

at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:178)

at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:166)

at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:649)

... 19 more

Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:26614/status] to be available after 20004 ms

at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:107)

at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:175)

... 22 more

Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException

at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143)

at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:80)

... 23 more

Caused by: java.util.concurrent.TimeoutException

at java.util.concurrent.FutureTask.get(FutureTask.java:205)

at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130)

... 24 more

15:57:22.132 WARN - Exception: null

I figured it out. safaridriver exit immediately just because webdriver was not running.
You can check the status through:

launchctl list | grep webdriverd

To make this daemon running, just use this command:

launchctl load /System/Library/LaunchAgents/com.apple.webdriverd.plist

Then you should load safaridriver successfully.


But now, when I run the tests, Selenium log shows a warning that safaridriver is already running and no browser opens. So tests aren't running.

kill the pid from the output of
launchctl list | grep webdriverd


It worked for me once this was done.

Safaridriver not responding
 
 
Q