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
|
],
|
// TODO - move to the package.json
|
// 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/e2e",
|
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/e2e"
|
},
|
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 axwxxwbove! ... 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;
|