@Test
 public void shouldThrowAnExceptionWhenTheURLIsMalformed() throws Exception {
   try {
     config.setSeleniumGridUrl("BadURL");
     config.createBrowser();
     fail();
   } catch (Exception unit) {
     assertThat(unit, instanceOf(RuntimeException.class));
     assertThat(unit.getMessage(), is("java.net.MalformedURLException: no protocol: BadURL"));
   }
 }
  @Test
  public void shouldCreateRemoteDriver() throws Exception {
    config.setSeleniumGridUrl("http://my.awesomegrid.com");
    RemoteWebDriver mockRemoteWebDriver = Mockito.mock(RemoteWebDriver.class);
    whenNew(RemoteWebDriver.class)
        .withParameterTypes(URL.class, Capabilities.class)
        .withArguments(isA(URL.class), isA(Capabilities.class))
        .thenReturn(mockRemoteWebDriver);

    final RemoteWebDriver browser = config.createBrowser();

    assertThat(browser, is(mockRemoteWebDriver));
    verifyNew(RemoteWebDriver.class, times(1))
        .withArguments(isA(URL.class), isA(Capabilities.class));
  }