I am newbie with selenium and writing selenium test cases, I am basically trying to modify existing code in order to enhance some functionality. I am creating a webDriver using the following code : DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setBrowserName("firefox"); capabilities.setCapability("key", true); capabilities.setCapability("key", "value"); if (driverUrl != null) { System.out.println(" Capabilities are "+capabilities.toString()); try { URL url = new URL(driverUrl); System.out.println(" DriverUtil: createDriver() path: "+url.toString()+" protocol "+url.getProtocol()+" hostName :"+url.getHost()+" port "+url.getPort()); WebDriver driver = new RemoteWebDriver(url, capabilities); System.out.println(" WebDriver is "+driver); return driver; } catch (MalformedURLException e) { throw new IllegalStateException("Failed to create remote web driver for url " + driverUrl, e); } } The url as well as the capabilities have the following values : DriverUtil webDriver is http://xyz-qaa.abc.no Capabilities are Capabilities [{browserName=firefox, key=value}] I have modified the url in this question but as such the url has a valid value and can be opened in the browser. But when I try to run the test cases I see this : Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:218) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129) at heimdall.ui.webtest.DriverUtil.createDriver(DriverUtil.java:46) I have looked around to find a solution for this but I am unable to find one. Any suggestions? I am not entirely sure which version of selenium is being used, because I am not the original author, but in te eclipse project I did find that the org.seleniumhq.selenium/selenium-remote-driver/2.32.0.jar and selenium-firefox-driver-2.32.0.jar is being used.