Opera Node not working on Selenium Grid

377 views
Skip to first unread message

Robert van Oostwaard

unread,
Oct 6, 2016, 2:36:09 AM10/6/16
to Selenium Users
I am trying to get Opera 40 working on a Selenium 2.53.1 Grid

Environment:
Selenium:2.53.1
OperaDriver: 0.2.2
OperaBrowser:40
OS: Windows Server 2008 R2 6.1 amd64
Java: 1.8.0_05

The Selenium standalone jar is the download from the Selenium web site.
The Opera Driver exe is the 0.2.2 version linked to from the Selenium web site.
These are straight downloads, I do not have the source code for either of these.

I am running Selenium in a grid configuration. It is working for Firefox, Chrome and IE
The hub is started like this:
cd %USERPROFILE%\selenium
start "Selenium Hub" java -jar selenium-server-standalone-2.53.1.jar -role hub -port #### -browserTimeout 300

The Chrome node is started like this (The tests work on the Chrome browser):
start "Selenium Chrome Node" java -jar selenium-server-standalone-2.53.1.jar -role node -port #### -hub http://xxxx.xxxx.xxxx:#### -browser "browserName=chrome,maxInstances=5,platform=WINDOWS,version=Latest1" -Dwebdriver.chrome.driver="chromedriver_Win32_2.22/chromedriver.exe"

I am attempting to add an Opera node to that with the following command:
start "Selenium Opera Node" java -jar selenium-server-standalone-2.53.1.jar -role node -port #### -hub http://xxxx.xxxx.xxxx:#### -browser "browserName=opera,maxInstances=5,platform=WINDOWS,version=Latest1" -Dwebdriver.opera.driver="operadriver_Win32_0.2.2/operadriver.exe"

When I run the start command this is the result I get:

15:27:45.591 INFO - Launching a Selenium Grid node
15:27:45.685 INFO - Adding browserName=opera,maxInstances=5,platform=WINDOWS,version=Latest1
Setting system property webdriver.opera.driver to operadriver_Win32_0.2.2/operadriver.exe
15:27:47.418 INFO - Java: Oracle Corporation 25.5-b02
15:27:47.418 INFO - OS: Windows Server 2008 R2 6.1 amd64
15:27:47.424 INFO - v2.53.1, with Core v2.53.1. Built from revision a36b8b1
15:27:47.521 INFO - Driver class not found: com.opera.core.systems.OperaDriver
15:27:47.521 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
15:27:47.530 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 VISTA
15:27:47.531 INFO - Driver class not found: org.openqa.selenium.htmlunit.HtmlUnitDriver
15:27:47.533 INFO - Driver provider org.openqa.selenium.htmlunit.HtmlUnitDriver is not registered
15:27:47.561 INFO - Version Jetty/5.1.x
15:27:47.564 INFO - Started HttpContext[/selenium-server,/selenium-server]
15:27:47.566 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@2f8f5f62
15:27:47.567 INFO - Started HttpContext[/wd,/wd]
15:27:47.567 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
15:27:47.571 INFO - Started HttpContext[/,/]
15:27:47.578 INFO - Started SocketListener on 0.0.0.0:5558
15:27:47.582 INFO - Started org.openqa.jetty.jetty.Server@67b92f0a
15:27:47.585 INFO - Selenium Grid node is up and ready to register to the hub
15:27:47.634 INFO - Starting auto registration thread. Will try to register every 5000 ms.
15:27:47.637 INFO - Registering the node to the hub: http://xxxxx.xxxx.xxxx:####/grid/register
15:27:47.674 INFO - The node is registered to the hub and ready to use


I have my Selenium tests for Opera configured like this (java):
DesiredCapabilities cap = DesiredCapabilities.opera();   // With an  @SuppressWarnings("deprecation")
CommandExecutor exec = new HttpCommandExecutor(new URL(xxxxxxxxx));
RemoteWebDriver driver = new RemoteWebDriver(exec, cap);

When I run this I get the following error for every test:

15:58:13.463 INFO - Executing: [new session: Capabilities [{browserName=opera, version=Latest1, platform=ANY}]])
15:58:13.483 WARN - Exception thrown java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException:
 The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance for Capabilities [{browserName=opera, version=Latest1, platform=ANY}]
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'virgo', ip: '10.26.64.71', os.name: 'Windows Server 2008 R2', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_05'
Driver info: driver.version: unknown
        at java.util.concurrent.FutureTask.report(Unknown Source)
        at java.util.concurrent.FutureTask.get(Unknown Source)
        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: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.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:
The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance for Capabilities [{browserName=opera, version=Latest1, platform=ANY}]
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'virgo', ip: '10.26.64.71', os.name: 'Windows Server 2008 R2', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_05'
Driver info: driver.version: unknown
        at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:62)
        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(Unknown Source)
        at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
15:58:13.563 WARN - Exception: The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance for Capabilities [{browserName=opera, version=Latest1, platform=ANY}]
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'xxxxx', ip: '##.##.##.##', os.name: 'Windows Server 2008 R2', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_05'
Driver info: driver.version: unknown


I have also experimented with using the chrome driver in the start command and with OperaOptions and ChromeOptions in the java configuration code.
Nothing has helped.

I have seen some comments that say that the INFO message "Driver class not found: com.opera.core.systems.OperaDriver" is important and some that say it is not.  Does anyone know if it is?
(It is in the messages I get when I start the node)

Any one have any ideas?

Reply all
Reply to author
Forward
0 new messages