title: Selenium RemoteWebDriver UnreachableBrowserException with Edge
body: <p>Hi I've been working on a side-project using Maven and a TestNG Framework. So far my code works well with WebDriver instances (Chrome, Firefox, Edge), but I keep getting errors when attempting to set up a RemoteWebDriver with Edge. Here is how I have my Driver class(Implementing WebDriver Class) set up: (Showing the constructor portion with initializing Driver through RemoteWebDriver:</p>
  
  <p>Edits:</p>
  
  <pre><code> public Driver (String browserName) {
      this.browserName = browserName;
      ....
  
      if(browserName.equalsIgnoreCase("edge")) {
          System.setProperty("webdriver.edge.driver","./resources/webdrivers/MicrosoftWebDriver.exe");
          DesiredCapabilities browser = DesiredCapabilities.edge();
          browser.setPlatform(Platform.WIN10);
          try {
              this.driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), browser);
          } catch (MalformedURLException e) {
              e.printStackTrace();
          }
          js = (JavascriptExecutor) driver;
          bugCapture = (TakesScreenshot)driver;
          testFailDir = newFailCapDir();
      }
  </code></pre>
  
  <p>When running the code with mvn and setting -Dbrowser=edge, this is the error I receive:</p>
  
  <pre><code>  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.
    Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-
    06T21:01:39.354Z'
    System info: host: 'LAPTOP-L1BFDSGL', ip: '10.0.0.11', os.name: 'Windows 
    10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_162'
    Driver info: driver.version: Driver
    Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 
    localhost:17556 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: 
    Connection refused: connect
    Caused by: java.net.ConnectException: Connection refused: connect
  </code></pre>
  
  <p>After some research, I thought the problem was that I didn't have the Selenium-server-standalone jar file, it seems to call on the Maven Dependencies of Selenium jar files. I've looked around on this site and others to find the solution to my problem, but I'm still getting the same error. Is there a file I'm missing or can RemoteWebDriver be applied with Edge driver?</p>
  
  <p>Any advice would help in this situation. 
  Thanks.</p>
  
  <p>Update 
  @DebanjanB's request, The hub I used was during the declaration. After some research I didn't realize that I didn't have to have a hub or node active. (Probably why I was getting unreachable exception.)  I also checked that I could set up a hub and node(I used port -5555 for node role). Commands I used for Hub and Node in separate cmd prompts:</p>
  
  <pre><code>java -jar selenium-server-standalone-3.10.0.jar -role hub 
  
  java -jar selenium-server-standalone-3.10.0.jar -role node -hub 
  http://localhost:4444/grid/register -port 5555
  </code></pre>
  
  <p>I also updated my maven dependencies to include to Selenium server standalone.
  The maven I was running for my test was: </p>
  
  <pre><code>mvn test -Dbrowser=edge -Dgroups=&lt;specified group&gt; 
  </code></pre>
  
  <p>When I ran with the hub running I was getting this exception error:</p>
  
  <pre><code>  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.
    Build info: version: '3.10.0', revision: '176b4a9', time: '2018-03-
    02T19:03:16.397Z'
    System info: host: 'LAPTOP-L1BFDSGL', ip: '10.0.0.11', os.name: 'Windows 
    10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_162'
    Driver info: driver.version: Driver
   Caused by: java.net.ConnectException: Failed to connect to /10.0.0.11:4444
   Caused by: java.net.ConnectException: Connection refused: connect
  </code></pre>
  
  <p>Before the failure I saw this message: 
         Mar 09, 2018 7:05:25 PM org.openqa.selenium.remote.DesiredCapabilities 
         edge
         INFO: Using <code>new EdgeOptions()</code> is preferred to 
        <code>DesiredCapabilities.edge()</code>
         //Error about test cases failed and skipped</p>
  
  <p>@DebanjanB let me know if you need more clarification.</p>
  
  <p>Update:
  I managed to get my Remote Webdriver working using Edge. I had to mention the Dwebdriver I was going to use when registering my Node after setting up my hub.</p>
  
  <p>Registering my Node:</p>
  
  <p>java -Dwebdriver.edge.driver=MicrosoftWebDriver.exe -jar selenium-server-standalone-3.10.0.jar -role node -hub <a href="http://localhost:4444/grid/register" rel="nofollow noreferrer">http://localhost:4444/grid/register</a> -port 5555</p>
  
  <p>(And I had add the physical driver as well for the path since when running on local drivers, I placed them in a different path.)</p>
  
  <p>In my Driver class (I had to set my URL to my node instead of my hub):</p>
  
  <pre><code>System.setProperty("webdriver.edge.driver","./resources/webdrivers/MicrosoftWebDriver.exe");
                  DesiredCapabilities browser = DesiredCapabilities.edge();
                  try {
                      driver = new RemoteWebDriver(new URL("http://10.0.0.19:5555/wd/hub"), browser);
                  } catch (MalformedURLException e) {
                      e.printStackTrace();
                  }
  </code></pre>
  
  <p>Now when I run the command for edge without issue. :)</p>