| | |
| | | const SCREENSHOT_PATH = "./reports/screenshots/"; |
| | | |
| | | module.exports = { |
| | | "src_folders": [ |
| | | "tests/e2e/specs"// Where you are storing your Nightwatch e2e tests |
| | | 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 |
| | | // 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" |
| | | 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"], |
| | | 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(); |
| | | } |
| | | |
| | | 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 |
| | | 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 |
| | | * 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 |
| | | * 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) { |
| | | 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.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++) + '_'; |
| | | var metadata = meta |
| | | .join("~") |
| | | .toLowerCase() |
| | | .replace(/ /g, ""); |
| | | return SCREENSHOT_PATH + metadata + "_" + padLeft(FILECOUNT++) + "_"; |
| | | } |
| | | |
| | | module.exports.imgpath = imgpath; |
| | | module.exports.SCREENSHOT_PATH = SCREENSHOT_PATH; |
| | | module.exports.SCREENSHOT_PATH = SCREENSHOT_PATH; |