const seleniumServer = require("selenium-server"); const chromedriver = require("chromedriver"); const SCREENSHOT_PATH = "./reports/screenshots/"; module.exports = { "src_folders": [ "tests/e2e/specs"// Where you are storing your Nightwatch e2e tests ], // "urlToTest": process.env.E2E_ENV ? `http://app-name-labs-${process.env.E2E_ENV}.apps.company-xyz.rht-labs.com` : 'http://localhost:8080', "output_folder": "./reports", "selenium": { "start_process": true, // tells nightwatch to start/stop the selenium process "server_path": seleniumServer.path, "host": "127.0.0.1", "port": 4444, "cli_args": { "webdriver.chrome.driver" : chromedriver.path } }, "test_settings": { "jenkins": { "end_session_on_fail":false, "screenshots" : { "enabled" : true, "on_failure" : true, "path" : "reports" }, "desiredCapabilities": { "browserName": "chrome", "javascriptEnabled": true, "acceptSslCerts": true, "chromeOptions" : { "args" : ["disable-web-security", "ignore-certificate-errors", "headless", "no-sandbox"], } } } } } function padLeft (count) { // theregister.co.uk/2016/03/23/npm_left_pad_chaos/ return count < 10 ? '0' + count : count.toString(); } var FILECOUNT = 0; // "global" screenshot file count /** * The default is to save screenshots to the root of your project even though * there is a screenshots path in the config object above! ... so we need a * function that returns the correct path for storing our screenshots. * While we're at it, we are adding some meta-data to the filename, specifically * the Platform/Browser where the test was run and the test (file) name. */ function imgpath (browser) { var a = browser.options.desiredCapabilities; var meta = [a.platform]; meta.push(a.browserName ? a.browserName : 'any'); meta.push(a.version ? a.version : 'any'); meta.push(a.name); // this is the test filename so always exists. var metadata = meta.join('~').toLowerCase().replace(/ /g, ''); return SCREENSHOT_PATH + metadata + '_' + padLeft(FILECOUNT++) + '_'; } module.exports.imgpath = imgpath; module.exports.SCREENSHOT_PATH = SCREENSHOT_PATH;