jack chouchani
jack chouchani

Reputation: 37

Running test with Nightwatch in Firefox fails to connect to Selenium server

I'm trying to do an automated testing for a website using Nightwatch.js and I'm on macOS High Sierra. So I started testing using the Selenium Standalone Server as said in the documentation. The chrome testing works good and I have no problem with it. But I can't seem to make the Firefox testing work, I've been testing and searching online for a fix but I gave up because none of the solutions I found worked. Here's is my nightwatch.json configuration file.

{
    "src_folders": [
        "test"
    ],
    "output_folder": "reports",
    "custom_commands_path": "",
    "custom_assertions_path": "",
    "page_objects_path": "",
    "globals_path": "",
    "selenium": {
        "start_process": true,
        "server_path": "./bin/selenium-server-standalone-3.13.0.jar",
        "log_path": "",
        "port": 4444,
        "cli_args": {
            "webdriver.chrome.driver": "./bin/chromedriver",
            "webdriver.gecko.driver": "./bin/geckodriver",
            "webdriver.firefox.profile": "nightwatch"
        }
    },
    "test_settings": {
        "default": {
            "launch_url": "https://www.google.com",
            "selenium_port": 4444,
            "selenium_host": "127.0.0.1",
            "default_path_prefix": "",
            "silent": true,
            "screenshots": {
                "enabled": false,
                "path": ""
            },
            "desiredCapabilities": {
                "browserName": "firefox",
                "javascriptEnabled": true,
                "acceptSslCerts": true,
                "marionette": true
            }
        },
        "chrome": {
            "desiredCapabilities": {
                "browserName": "chrome",
                "chromeOptions": {
                    "args": [
                        "--load-extension=/Users/jackch/Downloads/chrome, --url-base=/wd/hub"
                    ]
                }
            }
        }
    }
}

And then when I run nightwatch -e --verbose in the terminal, I get the same error Error retrieving a new session from the selenium server Connection refused! Is selenium server started?. I tried many things:

1) I started geckodriver in a separate terminal on the default port 4444, and here are the logs from geckodriver:

2018-07-23 12:09:03.432 plugin-container[27769:6329668] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7903, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:03.559 plugin-container[27769:6329668] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7943, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:03.624 plugin-container[27770:6329696] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7b37, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:03.713 plugin-container[27770:6329696] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7bcf, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
1532336943850   Marionette  INFO    Listening on port 52869
2018-07-23 12:09:04.333 plugin-container[27771:6329828] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7d07, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:04.413 plugin-container[27771:6329828] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7d83, name = 'com.apple.coredrag'

See /usr/include/servers/bootstrap_defs.h for the error codes.

2) Then I tried to change the port of geckodriver, because I thought they may intefere since both Selenium and gecko choose the 4444 port, but nothing changed.

3) I tried to launch the Selenium server alone and then linking it. Which mean that I set the "start_process" to false in the nightwatch.json. And I still didn't manage to make it work.

Here is the complete message after I run nightwatch -e --verbose:

    Starting selenium server... started - PID:  28112

[Test] Test Suite
=====================

Running:  Login
INFO Request: POST /session
 - data:  {"desiredCapabilities":{"browserName":"firefox","javascriptEnabled":true,"acceptSslCerts":true,"platform":"ANY","marionette":true,"name":"Test"}}
 - headers:  {"Content-Type":"application/json; charset=utf-8","Content-Length":145}
INFO Response 200 POST /session (1721ms) { value:
   { sessionId: '187e2af1-54a1-224a-9b8d-d4ff9f3913c7',
     capabilities:
      { acceptInsecureCerts: false,
        browserName: 'firefox',
        browserVersion: '61.0.1',
        'moz:accessibilityChecks': false,
        'moz:headless': false,
        'moz:processID': 28131,
        'moz:profile': '/var/folders/vw/j4dsztz17sj_vtk500lv09r00000gn/T/rust_mozprofile.GRCHbtKdy2zm',
        'moz:useNonSpecCompliantPointerOrigin': false,
        'moz:webdriverClick': true,
        pageLoadStrategy: 'normal',
        platformName: 'darwin',
        platformVersion: '17.7.0',
        rotatable: false,
        timeouts: { implicit: 0, pageLoad: 300000, script: 30000 } } } }

Error retrieving a new session from the selenium server

Connection refused! Is selenium server started?
{ value:
   { sessionId: '187e2af1-54a1-224a-9b8d-d4ff9f3913c7',
     capabilities:
      { acceptInsecureCerts: false,
        browserName: 'firefox',
        browserVersion: '61.0.1',
        'moz:accessibilityChecks': false,
        'moz:headless': false,
        'moz:processID': 28131,
        'moz:profile': '/var/folders/vw/j4dsztz17sj_vtk500lv09r00000gn/T/rust_mozprofile.GRCHbtKdy2zm',
        'moz:useNonSpecCompliantPointerOrigin': false,
        'moz:webdriverClick': true,
        pageLoadStrategy: 'normal',
        platformName: 'darwin',
        platformVersion: '17.7.0',
        rotatable: false,
        timeouts: [Object] } } }

Thank you for any help you can bring.

Upvotes: 1

Views: 1744

Answers (1)

I run nightwatch on mac os high sierra on firefox, safari, chrome. And on window opera, IE. My config:

module.exports = {
    "src_folders": ["tests"],
    "output_folder": "reports",
    // "live_output" : true,
    // "parallel_process_delay" : 1500,
    "custom_commands_path": "commands",
    "custom_assertions_path": "assertions",
    "page_objects_path": "",
    "globals_path": "",
    "selenium": {
        "start_process": true,
        "server_path": "./node_modules/nightwatch/lib/sel-serv.jar",
        "log_path": "selenium_logs",
        "port": 4444,
        "cli_args": {
            "webdriver.chrome.driver": "./node_modules/.bin/chromedriver",
            "webdriver.gecko.driver": "./node_modules/.bin/geckodriver",
            "webdriver.edge.driver": "./node_modules/.bin/edgedriver",
            "webdriver.ie.driver": "drivers/IEDriverServer.exe",
            "webdriver.opera.driver": "drivers/operadriver.exe",
            "webdriver.safari.driver": "/usr/bin/safaridriver"
        }
    },

    "test_settings": {
        "default": {
            "selenium_port": 4444,
            "selenium_host": "localhost",
            "default_path_prefix": "/wd/hub",
            "silent": true,
            "screenshots": {
                "enabled": true,
                "on_failure": true,
                "on_error": true,
                "path": "tmp_screenshots"
            }
        },

        "firefox": {
            "desiredCapabilities": {
                "browserName": "firefox",
                "marionette": true,
                "acceptSslCerts": true,
                "javascriptEnabled": true
            },
            "globals": {
                "type": "firefox",
                "user": "me1",
                "pass": "test"
            }
        },

        "chrome": {
            "desiredCapabilities": {
                "browserName": "chrome",
                "chromeOptions": {
                    "args": [
                        "disable-web-security",
                        "use-fake-device-for-media-stream",
                        "use-fake-ui-for-media-stream"
                    ]
                },
                "acceptSslCerts": true,
                "javascriptEnabled": true
            },
            "globals": {
                "type": "chrome",
                "user": "me1",
                "pass": "test"
            }
        },

        "opera": {
            "desiredCapabilities": {
                "browserName": "opera",
                "operaOptions": {
                    "binary": "C://Program Files//Opera//53.0.2907.68//opera.exe"
                },
                "acceptSslCerts": true,
                "javascriptEnabled": true
            },
            "globals": {
                "type": "opera",
                "user": "me4",
                "pass": "test"
            }
        },

        "ie": {
            "desiredCapabilities": {
                "browserName": "internet explorer",
                "version": 11,
                "allowBlockedContent": true,
                "javascriptEnabled": true,
                "acceptSslCerts": true,
                "ignoreProtectedModeSettings": true
            },
            "globals": {
                "type": "ie",
                "user": "me3",
                "pass": "test"
            }
        },

        "safari": {
            "desiredCapabilities": {
                "browserName": "safari",
                "javascriptEnabled": true,
                "acceptSslCerts": true
            },
            "globals": {
                "type": "safari",
                "user": "me3",
                "pass": "test"
            }
        }
    },
    "test_workers": {
        "enabled": true,
        "workers": "auto"
    }
};

Upvotes: 1

Related Questions