title: org.openqa.selenium.remote.service.DriverService$Builder.createArgs()Lcom/google/common/collect/ImmutableList; with Selenium 3.5.3 Chrome 76
body: <p>I'm writing Selenium Junit tests with IntelliJ. The tests run ok if I trigger from test directly. However, if I trigger tests from TestRunnerSuite with JunitCore, I encountered following weird error that I did not find a solution after researching on google. Similar questions on DriverService$builder, but not my error type.</p>
  
  <pre><code>[main] ERROR sire.responseOrg.TestIncidents - java.lang.AbstractMethodError: org.openqa.selenium.remote.service.DriverService$Builder.createArgs()Lcom/google/common/collect/ImmutableList;
      at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:332)
      at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
      at org.openqa.selenium.chrome.ChromeDriver.&lt;init&gt;(ChromeDriver.java:123)
      at sire.responseOrg.WebDrivers.getInstance(WebDrivers.java:15)
      at sire.responseOrg.util.util1.setupChromeDriver(util1.java:51)
      at sire.responseOrg.Test1.setUp(Test1.java:28)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at ......Omitted
      at org.junit.runner.JUnitCore.run(JUnitCore.java:127)
      at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:76)
      at sire.responseOrg.TestSuiteRunner.main(TestSuiteRunner.java:24)
  </code></pre>
  
  <p>I'm using Selenium 3.5.3 and chrome 76.<strong>---> Updated to Selenium 3.141.59,and with <code>main</code> scope.</strong><br>
  Now getting error</p>
  
  <pre><code>java.lang.NoClassDefFoundError: org/apache/http/auth/Credentials
      at org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:93)
      at org.openqa.selenium.remote.HttpCommandExecutor.&lt;init&gt;(HttpCommandExecutor.java:72)
      at org.openqa.selenium.remote.service.DriverCommandExecutor.&lt;init&gt;(DriverCommandExecutor.java:63)
      at org.openqa.selenium.chrome.ChromeDriverCommandExecutor.&lt;init&gt;(ChromeDriverCommandExecutor.java:36)
      at org.openqa.selenium.chrome.ChromeDriver.&lt;init&gt;(ChromeDriver.java:181)
      at org.openqa.selenium.chrome.ChromeDriver.&lt;init&gt;(ChromeDriver.java:168)
      at org.openqa.selenium.chrome.ChromeDriver.&lt;init&gt;(ChromeDriver.java:123)
      at sire.responseOrg.WebDrivers.getInstance(WebDrivers.java:15)
      at sire.responseOrg.util.SeleniumUtil.setupChromeDriver(SeleniumUtil.java:62)
      at sire.responseOrg.TestIncidents.setUp(TestIncidents.java:29)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
      at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
      at org.junit.runners.Suite.runChild(Suite.java:128)
      at org.junit.runners.Suite.runChild(Suite.java:24)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:127)
      at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:76)
      at sire.responseOrg.TestSuiteRunner.main(TestSuiteRunner.java:24)
  Caused by: java.lang.ClassNotFoundException: org.apache.http.auth.Credentials
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      ... 33 more
  </code></pre>
  
  <p><strong>Full pom.xml dependencies</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  
      &lt;groupId&gt;myGroupId&lt;/groupId&gt;
      &lt;artifactId&gt;myArtifactId&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
      &lt;description&gt;My description&lt;/description&gt;
  
      &lt;dependencies&gt;
          &lt;!-- https://mvnrepository.com/artifact/junit/junit --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;junit&lt;/groupId&gt;
              &lt;artifactId&gt;junit&lt;/artifactId&gt;
              &lt;version&gt;4.9&lt;/version&gt;
              &lt;scope&gt;main&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
              &lt;artifactId&gt;selenium-api&lt;/artifactId&gt;
              &lt;version&gt;3.141.59&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
              &lt;artifactId&gt;selenium-java&lt;/artifactId&gt;
              &lt;version&gt;3.141.59&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
              &lt;artifactId&gt;selenium-chrome-driver&lt;/artifactId&gt;
              &lt;version&gt;3.141.59&lt;/version&gt;
              &lt;scope&gt;main&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
              &lt;version&gt;1.7.6&lt;/version&gt;
              &lt;scope&gt;main&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-simple&lt;/artifactId&gt;
              &lt;version&gt;1.7.6&lt;/version&gt;
              &lt;scope&gt;main&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.salesforce.seti&lt;/groupId&gt;
              &lt;artifactId&gt;selenium-dependencies&lt;/artifactId&gt;
              &lt;version&gt;1.0.3&lt;/version&gt;
          &lt;/dependency&gt;
  
  
      &lt;/dependencies&gt;
  
      &lt;build&gt;
          &lt;pluginManagement&gt;
              &lt;plugins&gt;
                  &lt;plugin&gt;
                      &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                      &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                      &lt;version&gt;3.5.1&lt;/version&gt;
                      &lt;configuration&gt;
                          &lt;source&gt;1.8&lt;/source&gt;
                          &lt;target&gt;1.8&lt;/target&gt;
                      &lt;/configuration&gt;
                  &lt;/plugin&gt;
                  &lt;plugin&gt;
                      &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                      &lt;artifactId&gt;maven-jar-plugin&lt;/artifactId&gt;
                      &lt;version&gt;3.1.2&lt;/version&gt;
                      &lt;executions&gt;
                          &lt;execution&gt;
                              &lt;goals&gt;
                                  &lt;goal&gt;test-jar&lt;/goal&gt;
                              &lt;/goals&gt;
                          &lt;/execution&gt;
                      &lt;/executions&gt;
                  &lt;/plugin&gt;
              &lt;/plugins&gt;
          &lt;/pluginManagement&gt;
      &lt;/build&gt;
      &lt;packaging&gt;pom&lt;/packaging&gt;
  
  &lt;/project&gt;
  </code></pre>
  
  <p>My project folder structure is</p>
  
  <pre><code>.src
  ...main
  .....java
  .......projectname
  .........constantsFolder
  .........utilFolder
  ...........util1.java
  ...........util2.java
  .........Test1.java
  .........TestRunnerSuite.java
  .........WebDrivers.java
  </code></pre>
  
  <p>If I start test from Test1.java, the test runs regularly though with warnings</p>
  
  <pre><code>[main] INFO projectname.util.util1 - Set up chrome driver.
  Starting ChromeDriver 75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs/branch-heads/3770@{#1003}) on port 28755
  Only local connections are allowed.
  Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
  [1566609934.853][WARNING]: This version of ChromeDriver has not been tested with Chrome version 76.
  Aug 23, 2019 6:25:34 PM org.openqa.selenium.remote.ProtocolHandshake createSession
  INFO: Detected dialect: W3C
  [main] INFO projectname.util.util1 - Navigating to https://mytest.com/
  </code></pre>
  
  <p>However, after adding a testSuiteRunner as below.</p>
  
  <pre><code>@RunWith(Suite.class)
  @Suite.SuiteClasses({ Test1.class })
  public class TestSuiteRunner {
      public static void main(String[] args) {
          Result result = JUnitCore.runClasses(Test1.class);
          // print erros, exit etc omitted
      }
  }
  </code></pre>
  
  <p>Now I get the weird error and cannot fire the chromedriver.
  The webdriver I have is singleton</p>
  
  <pre><code>public class WebDrivers {
      private static WebDriver driver = null;
  
      public static WebDriver getInstance(){
          if (driver == null) {
              driver = new ChromeDriver();
          }
          return driver;
      }
  }
  </code></pre>
  
  <p>It's my first time to work on setting everything up from grounds. I'm not sure if it's pom dependency issue, singleton webdriver issue, or something else. Could anyone share an eyesight on this and give some clues? Much appreciated. </p>