title: Nightwatch selenium geckodriver - browser not opening
body: <p>I'm trying to run nightwatch tests in firefox. I have my config file set up like this:</p>
  
  <pre><code>module.exports = {
    "page_objects_path": "./page_objects",
    "selenium": { 
      "start_process": true, 
      "server_path": "../bin/selenium.jar",
      "host": "127.0.0.1",
      "port": 4444,
      "cli_args": {
        "webdriver.gecko.driver" : "../bin/geckodriver",
        "webdriver.chrome.driver" : "../bin/chromedriver",
        "webdriver.ie.driver" : "../bin/IEDriver"
      }
    },
    "test_settings": {
      // default settings will run with chrome headless
      "headless": {
        "screenshots": {
          "enabled": true, 
          "on_failure": true,
          //"on_error": false,
          "path": HEADLESS_SCREENSHOT_PATH 
        },
        "globals": {
          "waitForConditionTimeout": 15000 
        },
        "desiredCapabilities": { 
          "browserName": "chrome",
          "javascriptEnabled": true,
          "chromeOptions" : {
              "args" : ['--headless', '--disable-gpu', '--window-size=1920x1080'],
          }    
        }
      },
  
      "firefox": {
        "screenshots": {
          "enabled": true, 
          "on_failure": true,
          //"on_error": false,
          "path": FIREFOX_SCREENSHOT_PATH 
        },
        "globals": {
          "waitForConditionTimeout": 15000 
        },
          "desiredCapabilities": {
            "browserName": "firefox",
            "javascriptEnabled": true,
            "acceptSslCerts": true,
            "marionette": true
          }
        },
  
        "ie": {
          "screenshots": {
            "enabled": true, 
            "on_failure": true,
            //"on_error": false,
            "path": IE_SCREENSHOT_PATH 
          },
          "globals": {
            "waitForConditionTimeout": 15000 
          },
            "desiredCapabilities": {
              "browserName": "internet explorer",
              "javascriptEnabled": true,
              "acceptSslCerts": true,
            }
          },
  
      "chrome": {
        "screenshots": {
          "enabled": true, 
          "on_failure": true,
          //"on_error": false,
          "path": CHROME_SCREENSHOT_PATH 
        },
        "globals": {
          "waitForConditionTimeout": 15000 
        },
        "desiredCapabilities": {
          "browserName": "chrome",
          "javascriptEnabled": true,
          "chromeOptions" : {
              "args" : ['--start-maximized', '--incognito'],
          }   
         }
        },
      }
  }
  </code></pre>
  
  <p>Chrome, chrome headless, and IE all work perfectly fine but Firefox does not. Selenium appears to start but the browser doesn't open. This is an example of the errors which occur repeatedly as it tries to run the tests with no browser open:</p>
  
  <pre><code>   { message: 'Connection refused! Is selenium server started?\n',
       data: { value: [Object], status: 33 } } }
  Error: Creating screenshot was not successful. Response was:
  { status: -1,
    value:
     { error: 'invalid session id',
       message: 'No active session with ID null',
       stacktrace: '' },
    errorStatus: 6,
    error: '' }
  </code></pre>
  
  <p>I've tried upgrading/downgrading selenium, geckodriver and firefox to a few different versions of each. Currently have selenium 3.14.0, firefox 62, geckodriver 0.22.0, but have tried several versions of each to try different combinations. Using JDK 8.</p>
  
  <p>For reference, I also did have the same error when first trying to run it on Internet Explorer, but fixed this by following the 'Other Settings' section at <a href="https://github.com/nightwatchjs/nightwatch/wiki/Internet-Explorer-Setup" rel="nofollow noreferrer">https://github.com/nightwatchjs/nightwatch/wiki/Internet-Explorer-Setup</a> to change IE settings. There does not appear to be any similar instructions for setting requirements in Firefox.</p>
  
  <p>Anyone else had similar or no a solution? Many thanks</p>