ChromeDriver mockChromeDriver = mock(ChromeDriver.class);
whenNew(ChromeDriver.class).withParameterTypes(ChromeDriverService.class, Capabilities.class).withArguments(isA(ChromeDriverService.class), isA(Capabilities.class)).thenReturn(mockChromeDriver);
ChromeDriverService.Builder mockServiceBuilder = mock(ChromeDriverService.Builder.class);
whenNew(ChromeDriverService.Builder.class).withNoArguments().thenReturn(mockServiceBuilder);
when(mockServiceBuilder.usingDriverExecutable(isA(File.class))).thenReturn(mockServiceBuilder);
ChromeDriverService mockService = mock(ChromeDriverService.class);
when(mockServiceBuilder.build()).thenReturn(mockService);
final ChromeDriver browser = config.createBrowser();
assertThat(browser, is(mockChromeDriver));