[arquillian-issues] [JBoss JIRA] (ARQ-2163) SessionNotCreatedException when running PhantomJS as remotewebdriver with Selenium 3.8.0

Matous Jobanek (JIRA) issues at jboss.org
Mon Dec 4 07:30:01 EST 2017


    [ https://issues.jboss.org/browse/ARQ-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496789#comment-13496789 ] 

Matous Jobanek commented on ARQ-2163:
-------------------------------------

The reason is that PhantomJS dependency was removed from the Selenium project since 3.8.0. See this commit:  https://github.com/SeleniumHQ/selenium/commit/de5c81fd86a3228195d2f6d5d9526bbc4b3c3534

There are two workarounds:
* use any older version of selenium server by adding {{<property name="seleniumServerVersion">3.7.1</property>}} to your {{arquillian.xml}} file
* start selenium server by hand on command line and add the PhantomJS driver jar on classpath (the jar has to contain {{org.openqa.selenium.phantomjs.PhantomJSDriverService}} class)

> SessionNotCreatedException when running PhantomJS as remotewebdriver with Selenium 3.8.0
> ----------------------------------------------------------------------------------------
>
>                 Key: ARQ-2163
>                 URL: https://issues.jboss.org/browse/ARQ-2163
>             Project: Arquillian
>          Issue Type: Bug
>          Components: Extension - Drone
>    Affects Versions: drone_2.4.5
>            Reporter: Matous Jobanek
>            Assignee: Matous Jobanek
>             Fix For: drone_2.4.6
>
>
> When running test with PhantomJS as a remote webdriver, and selenium server 3.8.0 the SessionNotCreatedException is thrown:
> {noformat}
> INFO: Running Selenium server process: java -Dphantomjs.binary.path=/home/mjobanek/arquillian/arquillian-extension-drone/drone-webdriver/target/drone/1c947d57fce2f21ce0b43fe2ed7cd361/phantomjs-2.1.1-linux-x86_64/bin/phantomjs -jar target/drone/ef4afb633c4a177144798c17036e2e64/selenium-server-standalone-3.8.0.jar -port 4444
> Dec 04, 2017 1:24:05 PM org.arquillian.spacelift.Spacelift$SpaceliftInstance <init>
> INFO: Initialized Spacelift from defaults, workspace: /home/mjobanek/arquillian/arquillian-extension-drone/drone-webdriver, cache: /home/mjobanek/.spacelift/cache
> [Selenium server] 13:24:05.716 INFO - Selenium build info: version: '3.8.0', revision: '924c4067df'
> [Selenium server] 13:24:05.717 INFO - Launching a standalone Selenium Server
> [Selenium server] 2017-12-04 13:24:05.782:INFO::main: Logging initialized @244ms to org.seleniumhq.jetty9.util.log.StdErrLog
> [Selenium server] 13:24:05.811 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
> [Selenium server] 13:24:05.824 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
> [Selenium server] 13:24:05.826 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
> [Selenium server] 13:24:05.827 INFO - Driver class not found: com.opera.core.systems.OperaDriver
> [Selenium server] 13:24:05.827 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
> [Selenium server] 13:24:05.827 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
> [Selenium server] 13:24:05.828 INFO - Driver class not found: org.openqa.selenium.phantomjs.PhantomJSDriver
> [Selenium server] 13:24:05.857 INFO - Driver provider class org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
> [Selenium server]  registration capabilities Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: } does not match the current platform LINUX
> [Selenium server] 13:24:05.857 INFO - Driver provider class org.openqa.selenium.edge.EdgeDriver registration is skipped:
> [Selenium server]  registration capabilities Capabilities {browserName: MicrosoftEdge, platform: WINDOWS, version: } does not match the current platform LINUX
> [Selenium server] 13:24:05.858 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:
> [Selenium server]  registration capabilities Capabilities {browserName: safari, platform: MAC, version: } does not match the current platform LINUX
> [Selenium server] 13:24:05.887 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
> [Selenium server] 13:24:05.888 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
> [Selenium server] 13:24:05.888 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
> [Selenium server] 13:24:05.888 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
> [Selenium server] 13:24:05.888 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
> [Selenium server] 13:24:05.895 INFO - Using the passthrough mode handler
> [Selenium server] 2017-12-04 13:24:05.917:INFO:osjs.Server:main: jetty-9.4.7.v20170914
> [Selenium server] 2017-12-04 13:24:05.942:WARN:osjs.SecurityHandler:main: ServletContext at o.s.j.s.ServletContextHandler@2db7a79b{/,null,STARTING} has uncovered http methods for path: /
> [Selenium server] 2017-12-04 13:24:05.945:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler at 2db7a79b{/,null,AVAILABLE}
> [Selenium server] 2017-12-04 13:24:05.960:INFO:osjs.AbstractConnector:main: Started ServerConnector at 54b45561{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}
> [Selenium server] 2017-12-04 13:24:05.961:INFO:osjs.Server:main: Started @423ms
> [Selenium server] 13:24:05.961 INFO - Selenium Server is up and running
> [Selenium server] 2017-12-04 13:24:06.350:INFO:osjshC.ROOT:qtp1612799726-14: org.openqa.selenium.remote.server.WebDriverServlet-6895a785: Initialising WebDriverServlet
> [Selenium server] 13:24:06.379 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.NoSessionHandler at 35178a93
> [Selenium server] 13:24:06.381 INFO - /session/3f6b96b0-d8e7-11e7-8b89-71db65b1fafa/url: Executing GET on /session/3f6b96b0-d8e7-11e7-8b89-71db65b1fafa/url (handler: NoSessionHandler)
> Dec 04, 2017 1:24:06 PM org.jboss.arquillian.drone.webdriver.factory.RemoteWebDriverFactory createReusableDriver
> WARNING: Unable to reuse session: 3f6b96b0-d8e7-11e7-8b89-71db65b1fafa
> [Selenium server] 13:24:06.525 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession at 7a9815d3
> [Selenium server] 13:24:06.525 INFO - /session: Executing POST on /session (handler: BeginSession)
> [Selenium server] 13:24:06.572 INFO - Capabilities are: Capabilities {acceptSslCerts: true, browserName: phantomjs, firefoxUserPreferences: target/test-classes/prefs.js, loggingPrefs: org.openqa.selenium.logging..., seleniumServerVersion: 3.8.0, version: , webStorageEnabled: true, webdriver.firefox.profile: selenium}
> [Selenium server] 13:24:06.577 INFO - Capabilities are: Capabilities {browserName: phantomjs}
> [Selenium server] 13:24:06.578 INFO - Using default factory: org.openqa.selenium.chrome.ChromeDriverService
> org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService
> Build info: version: '3.8.0', revision: '924c4067df', time: '2017-11-30T11:37:19.049Z'
> System info: host: 'dhcp-10-40-5-169.brq.redhat.com', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.11.12-100.fc24.x86_64', java.version: '1.8.0_101'
> Driver info: driver.version: unknown
> Command duration or timeout: 82 milliseconds
> 	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:214)
> 	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
> 	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
> 	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
> 	at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
> 	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
> 	at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
> 	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
> 	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
> 	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
> 	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
> 	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
> 	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> 	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
> 	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
> 	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
> 	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
> 	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
> 	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
> 	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
> 	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155)
> 	at org.jboss.arquillian.drone.webdriver.factory.RemoteWebDriverFactory.createRemoteDriver(RemoteWebDriverFactory.java:220)
> 	at org.jboss.arquillian.drone.webdriver.factory.RemoteWebDriverFactory.createReusableDriver(RemoteWebDriverFactory.java:248)
> 	at org.jboss.arquillian.drone.webdriver.factory.RemoteWebDriverFactory.createInstance(RemoteWebDriverFactory.java:131)
> 	at org.jboss.arquillian.drone.webdriver.factory.RemoteWebDriverFactory.createInstance(RemoteWebDriverFactory.java:56)
> 	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:127)
> 	at org.jboss.arquillian.drone.webdriver.factory.WebDriverFactory.createInstance(WebDriverFactory.java:38)
> 	at org.jboss.arquillian.drone.impl.DroneConfigurator$1.createInstance(DroneConfigurator.java:112)
> 	at org.jboss.arquillian.drone.impl.CachingCallableImpl.call(CachingCallableImpl.java:44)
> 	at org.jboss.arquillian.core.impl.threading.ThreadedExecutorService$ContextualCallable.call(ThreadedExecutorService.java:89)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	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: org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService
> Build info: version: '3.8.0', revision: '924c4067df', time: '2017-11-30T11:37:19.049Z'
> System info: host: 'dhcp-10-40-5-169.brq.redhat.com', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.11.12-100.fc24.x86_64', java.version: '1.8.0_101'
> Driver info: driver.version: unknown
> Build info: version: '3.8.0', revision: '924c4067df', time: '2017-11-30T11:20:39.408Z'
> System info: host: 'dhcp-10-40-5-169.brq.redhat.com', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.11.12-100.fc24.x86_64', java.version: '1.8.0_101'
> Driver info: driver.version: unknown
> 	at org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$get$0(ServicedSession.java:208)
> 	at org.openqa.selenium.remote.server.ServicedSession$Factory.apply(ServicedSession.java:218)
> 	at org.openqa.selenium.remote.server.DefaultPipeline.lambda$null$1(DefaultPipeline.java:59)
> 	at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$createNewSession$4(NewSessionPipeline.java:52)
> 	at java.util.Optional.orElseGet(Optional.java:267)
> 	at org.openqa.selenium.remote.server.NewSessionPipeline.createNewSession(NewSessionPipeline.java:51)
> 	at org.openqa.selenium.remote.server.commandhandler.BeginSession.execute(BeginSession.java:77)
> 	at org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle$0(WebDriverServlet.java:240)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	... 4 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the arquillian-issues mailing list