I am trying to run a test in parallel with multiple browsers using nightwatch.js but I keep having this error:
Timeout while trying to connect to Selenium Server on port 4444.
at Socket.socketErrorListener (_http_client.js:397:9)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at processTicksAndRejections (internal/process/next_tick.js:76:17)
11:22:47.036 INFO [GridLauncherV3.parse] - Selenium server version:
3.141.59, revision: e82be7d358
11:22:47.576 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching
a standalone Selenium Server on port 4444
2019-04-30 11:22:47.898:INFO::main: Logging initialized @2109ms to
org.seleniumhq.jetty9.util.log.StdErrLog
my package.json
"name": "react-crud",
"version": "1.0.0",
"description": "A simple CRUD application in React JS with PHP as the server-side language, and MySQL Database.",
"main": "nightwatch.conf.js",
"directories": {
"test": "tests"
},
"dependencies": {
"chromedriver": "^2.46.0",
"geckodriver": "^1.16.2",
"react": "^15.6.2",
"selenium-server-standalone-jar": "^3.141.5",
"selenium-standalone": "^6.16.0",
"selenium-webdriver": "^4.0.0-alpha.1"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
The thing is, when I try to test with this nightwatch.json only for chrome it works:
"src_folders" : ["tests"],
"webdriver" : {
"start_process": true,
"server_path": "node_modules/.bin/chromedriver",
"port": 9515
},
"test_settings" : {
"default" : {
"desiredCapabilities": {
"browserName": "chrome"
}
}
}
}
but when I try to use selenium server I keep getting the error I just typed on the top:
{
"src_folders": [
"tests"
],
"output_folder": "reports",
"selenium": {
"start_process": true,
"server_path": "selenium-server-standalone-3.141.59.jar",
"log_path": "",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "bin/chromedriver",
"webdriver.gecko.driver": "bin/geckodriver",
}
},
"test_workers": {
"enabled": true,
"workers": "auto"
},
"test_settings": {
"default": {
"desiredCapabilities": {
"browserName": "chrome"
}
},
"firefox": {
"desiredCapabilities": {
"browserName": "firefox",
"marionette": true
}
}
}
}
Thank you in advance!
// Custom runner.js for Nightwatch
const Nightwatch = require('nightwatch');
// read the CLI arguments
Nightwatch.cli(function(argv) {
argv._source = argv['_'].slice(0);
// create the Nightwatch CLI runner
const runner = Nightwatch.CliRunner(argv);
// setup and run tests
runner
.setup()
.runTests()
.catch(err => console.error(err));
});