1

I am trying to configure Selenium Grid 2 on Jenkins via the Selenium Plugin and I have the Chrome Driver working without issue.

The Firefox driver is currently out of action due to version 48+ not working with the current Selenium Web Drivers as explained in this question.

I have configured a command line application that uses the RemoteWebDriver class to connect to my hub and use the DesiredCapability class to determine which node and browser to use.

I have added an entry into the Selenium Grid configuration for Opera that uses 1 max instance, and the path to the Opera browser. Other values exist for Chrome only.

The Opera option results in the following error, which to me makes absolutely no sense:

Unhandled Exception: System.InvalidOperationException: The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance for Capabilities [{browserName=opera, version=, platform=WINDOWS}]

Why would Selenium think that the best match for a browser called 'opera' is the EdgeDriver? Never mind the fact that my node doesn't have any configuration for driving Edge.

Has anyone encounterd/resolved a similar issue to this before?

Edit

The logs when starting up Selenium Grid are as follows:

Starting Selenium Grid

[Jenkins] $ "C:\Program Files (x86)\Jenkins\jre\bin\java" -cp "C:\Program Files (x86)\Jenkins\war\WEB-INF\lib\remoting-2.62.jar" hudson.remoting.Launcher -cp "C:\Program Files (x86)\Jenkins\plugins\selenium\WEB-INF\lib\selenium-server-standalone-2.53.0.jar;C:\Program Files (x86)\Jenkins\plugins\selenium\WEB-INF\lib\htmlunit-driver-standalone-2.20.jar" -connectTo localhost:61007

Community
  • 1
  • 1
Dan Def
  • 1,836
  • 2
  • 21
  • 39
  • can you give the start command of your selenium grid – Inforedaster Oct 18 '16 at 15:56
  • @Inforedaster I have added the log entry that is in Jenkins > Selenium Grid > Console Output – Dan Def Oct 18 '16 at 16:13
  • what standalone selenium version do you use ? and which opera driver ? – Inforedaster Oct 19 '16 at 08:11
  • @Inforedaster I am using the .NET bindings which are part of the Selenium.WebDriver NuGet package version 2.53.1 (I have also tried versions 2.53.0 and 3.0.0). The Selenium Grid Jenkins Plugin is version 2.53.1 which uses the 2.53.0 standalone. The opera driver version on the slave is the most recent from their GitHub repo, but I don't think it is even getting that far. – Dan Def Oct 19 '16 at 08:24

1 Answers1

0

the problem is the name of browser Try to check your browser name in your capabilities and in your node config and specify the path of your opera (test with 32 bits if you have a 64bit structure)

so good to know the addition of support for Microsoft's Edge browser, which landed since 2.47.

Inforedaster
  • 1,260
  • 1
  • 23
  • 39
  • When you configure the node you have to select the browser from a list and there is no option to change the name. As you can see from the error in the question I am passing the capabilities `[{browserName=opera, version=, platform=WINDOWS}]` which specifies the browser name as 'opera'. This comes from a method on the `DesiredCapability` class. Do you know what name it should be using? Don't get me started on the Edge Browser, that doesn't work via Selenium Grid on Jenkins as that only supports IE and when running it directly on my dev box the screenshots are all completely black. – Dan Def Oct 19 '16 at 08:46