# ChromeDriver problem in UI Tests

**URL:** <https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717>\
**Category:** Development\
**Created:** [August 7, 2015, 10:49am UTC](https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717 "2015-08-07T10:49:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tmueller](https://talk.openmrs.org/user_avatar/talk.openmrs.org/tmueller/32/827_2.png) [@tmueller](https://talk.openmrs.org/u/tmueller)\
**Post date:** [August 7, 2015, 10:49am UTC](https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717/1 "2015-08-07T10:49:47Z")

</div>

Hi, there have been cases when different UI Tests failed with the following error:

```
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
07-Aug-2015 02:06:18	Build info: version: '2.37.0', revision: 'a7c61cbd68657e133ae96672cf995890bad2ee42', time: '2013-10-18 09:51:02'
07-Aug-2015 02:06:18	System info: host: 'gw107', ip: '149.165.228.105', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-45-generic', java.version: '1.7.0_79'
07-Aug-2015 02:06:18	Driver info: driver.version: ChromeDriver
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
07-Aug-2015 02:06:18 at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:161)
07-Aug-2015 02:06:18 at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107)
07-Aug-2015 02:06:18 at org.openmrs.uitestframework.test.TestBase.setupChromeDriver(TestBase.java:306)
07-Aug-2015 02:06:18 at org.openmrs.uitestframework.test.TestBase.startWebDriver(TestBase.java:98)
07-Aug-2015 02:06:18 at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
07-Aug-2015 02:06:18 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
07-Aug-2015 02:06:18 at java.lang.reflect.Method.invoke(Method.java:606)
07-Aug-2015 02:06:18 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
07-Aug-2015 02:06:18 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
07-Aug-2015 02:06:18 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
07-Aug-2015 02:06:18 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
07-Aug-2015 02:06:18 at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
07-Aug-2015 02:06:18 at org.junit.rules.RunRules.evaluate(RunRules.java:20)
07-Aug-2015 02:06:18 at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
07-Aug-2015 02:06:18	Caused by: org.openqa.selenium.WebDriverException: java.net.SocketTimeoutException: Read timed out
07-Aug-2015 02:06:18	Build info: version: '2.37.0', revision: 'a7c61cbd68657e133ae96672cf995890bad2ee42', time: '2013-10-18 09:51:02'
07-Aug-2015 02:06:18	System info: host: 'gw107', ip: '149.165.228.105', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-45-generic', java.version: '1.7.0_79'
07-Aug-2015 02:06:18	Driver info: driver.version: ChromeDriver
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:75)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)
07-Aug-2015 02:06:18 at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
07-Aug-2015 02:06:18 at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:161)
07-Aug-2015 02:06:18 at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107)
07-Aug-2015 02:06:18 at org.openmrs.uitestframework.test.TestBase.setupChromeDriver(TestBase.java:306)
07-Aug-2015 02:06:18 at org.openmrs.uitestframework.test.TestBase.startWebDriver(TestBase.java:98)
07-Aug-2015 02:06:18 at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
07-Aug-2015 02:06:18 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
07-Aug-2015 02:06:18 at java.lang.reflect.Method.invoke(Method.java:606)
07-Aug-2015 02:06:18 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
07-Aug-2015 02:06:18 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
07-Aug-2015 02:06:18 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
07-Aug-2015 02:06:18 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
07-Aug-2015 02:06:18 at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
07-Aug-2015 02:06:18 at org.junit.rules.RunRules.evaluate(RunRules.java:20)
07-Aug-2015 02:06:18 at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
07-Aug-2015 02:06:18 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

```

The root of these errors seem to be problems with starting new session in ChromeDriver.Does anyone have any knowledge on what can be causing this issue?

---

<div class="post-metadata">

**Author:** ![raff](https://talk.openmrs.org/user_avatar/talk.openmrs.org/raff/32/11894_2.png) [@raff](https://talk.openmrs.org/u/raff)\
**Post date:** [August 7, 2015, 12:34pm UTC](https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717/2 "2015-08-07T12:34:05Z")

</div>

One fix would be to switch to using saucelabs 😉 We could prioritize that in such a case.

---

<div class="post-metadata">

**Author:** ![tmueller](https://talk.openmrs.org/user_avatar/talk.openmrs.org/tmueller/32/827_2.png) [@tmueller](https://talk.openmrs.org/u/tmueller)\
**Post date:** [September 2, 2015, 7:35am UTC](https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717/3 "2015-09-02T07:35:36Z")

</div>

Another problem with chromedriver that happens sometimes when running tests on CI:

```
java.lang.AssertionError: cannot find chromedriver executable: org.apache.commons.vfs2.FileSystemException: Could not copy "jar:file:///home/bamboo-agent-2/.m2/repository/org/openmrs/contrib/uitestframework/1.6-SNAPSHOT/uitestframework-1.6-SNAPSHOT.jar!/chromedriver/linux/chromedriver" because it does not exist.
	at org.junit.Assert.fail(Assert.java:88)
	at org.openmrs.uitestframework.test.TestBase.setupChromeDriver(TestBase.java:292)
	at org.openmrs.uitestframework.test.TestBase.startWebDriver(TestBase.java:98)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

```

It looks like at some point of the running UI Tests, the chromedriver seems to be missing. How is this possible?

---

<div class="post-metadata">

**Author:** ![raff](https://talk.openmrs.org/user_avatar/talk.openmrs.org/raff/32/11894_2.png) [@raff](https://talk.openmrs.org/u/raff)\
**Post date:** [September 3, 2015, 8:34am UTC](https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717/4 "2015-09-03T08:34:19Z")

</div>

Have you checked yourself that the executable is actually in the jar at the given location?

---

<div class="post-metadata">

**Author:** ![mogoodrich](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mogoodrich/32/3324_2.png) [@mogoodrich](https://talk.openmrs.org/u/mogoodrich)\
**Post date:** [September 3, 2015, 2:20pm UTC](https://talk.openmrs.org/t/chromedriver-problem-in-ui-tests/2717/5 "2015-09-03T14:20:26Z")

</div>

Side note, we’ve been seeing some issues in the PIH smoke tests with Chrome 44 and ChromeDriver 2.18. A different error than these though.

We added some hacks to our tests to work around them, but it looks like Chromedriver 2.19 was just released which will hopefully have a long-term fix.
