-
Notifications
You must be signed in to change notification settings - Fork 2
/
nightwatch.conf.js
80 lines (71 loc) · 2.35 KB
/
nightwatch.conf.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// Helpful
// https://gist.github.com/awatson1978/f94c1b7cab7a331d8d18
const jar = require('selenium-server-standalone-jar');
const BINPATH = './node_modules/nightwatch/bin/';
const SCREENSHOT_PATH = "./screenshots/";
const CHROME_BINARY_PATH = () => {
const local_path = "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary";
const travis_path = "google-chrome-stable";
return process.env === 'travis' ? 'travis_path' : 'local_path';
}
// load up the themes from the jay-config for where to find the e2e tests!
// https://stackoverflow.com/questions/24550376/chrome-not-reachable-on-travis-ci
module.exports = {
"src_folders": ["src/__e2e__"],
"output_folder": "reports",
"selenium": {
"start_process": true,
"server_path": jar.path,
"live_output": true,
"port": 4444,
"cli_args": {
"webdriver.chrome.driver" : BINPATH + "chromedriver",
}
},
"test_workers": {
"enabled": true,
"workers": "auto"
},
"test_settings": {
"default": {
"launch_url": "http://localhost",
"screenshots": {
"enabled": false, // if you want to keep screenshots
"on_failure": false,
"path": SCREENSHOT_PATH // save screenshots here
},
"globals": {
"waitForConditionTimeout": 5000 // sometimes internet is slow so wait.
},
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions": {
"args": [
"--headless",
"--no-sandbox",
"--no-default-browser-check",
"--no-first-run",
"--disable-default-apps"
],
"binary": CHROME_BINARY_PATH
},
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
}
}
/**
* selenium-download does exactly what it's name suggests;
* downloads (or updates) the version of Selenium (& chromedriver)
* on your localhost where it will be used by Nightwatch.
/the following code checks for the existence of `selenium.jar` before trying to run our tests.
*/
require('fs').stat(BINPATH + 'selenium.jar', function (err, stat) { // got it?
if (err || !stat || stat.size < 1) {
require('selenium-download').ensure(BINPATH, function(error) {
if (error) console.log(error); // no point continuing so exit!
console.log('✔ Selenium & Chromedriver downloaded to:', BINPATH);
});
}
});