81 lines
2.1 KiB
JavaScript
81 lines
2.1 KiB
JavaScript
|
const debug = require('debug')('acceptance:config');
|
||
|
let merge = require('deepmerge');
|
||
|
let codeceptjsShared = require('codeceptjs-shared');
|
||
|
let codeceptJsSauce = require('codeceptjs-saucelabs');
|
||
|
const cwd = process.cwd();
|
||
|
const path = require('path');
|
||
|
const fs = require('fs');
|
||
|
|
||
|
const metadata = require('./test/acceptance/metadata.json');
|
||
|
|
||
|
const RELATIVE_PATH = './test/acceptance';
|
||
|
const OUTPUT_PATH = RELATIVE_PATH + '/report';
|
||
|
|
||
|
function getDwJson() {
|
||
|
if (fs.existsSync(path.join(cwd, 'dw.json'))) {
|
||
|
return require(path.join(cwd, 'dw.json'));
|
||
|
}
|
||
|
return {};
|
||
|
}
|
||
|
|
||
|
const SAUCE_USER = getDwJson().sauce_username || process.env.SAUCE_USERNAME;
|
||
|
const SAUCE_KEY = getDwJson().sauce_key || process.env.SAUCE_KEY;
|
||
|
|
||
|
const DEFAULT_HOST = 'https://' + getDwJson().hostname;
|
||
|
const HOST = DEFAULT_HOST || process.env.HOST;
|
||
|
|
||
|
// Here is where you can target specific browsers/configuration to run on sauce labs.
|
||
|
const userSpecificBrowsers = {
|
||
|
phone: {
|
||
|
browser: 'chrome',
|
||
|
desiredCapabilities: {
|
||
|
chromeOptions: {
|
||
|
mobileEmulation: {
|
||
|
deviceName: "iPhone X"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
tablet: {
|
||
|
browser: 'chrome',
|
||
|
desiredCapabilities: {
|
||
|
chromeOptions: {
|
||
|
mobileEmulation: {
|
||
|
deviceName: "Kindle Fire HDX"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
let conf = {
|
||
|
output: OUTPUT_PATH,
|
||
|
cleanup: true,
|
||
|
coloredLogs: true,
|
||
|
helpers: {
|
||
|
REST: {},
|
||
|
WebDriver: {
|
||
|
url: HOST,
|
||
|
waitForTimeout: 10000
|
||
|
}
|
||
|
},
|
||
|
plugins: {
|
||
|
wdio: {
|
||
|
enabled: true,
|
||
|
services: ['selenium-standalone']
|
||
|
},
|
||
|
retryFailedStep: {
|
||
|
enabled: true,
|
||
|
retries: 3
|
||
|
}
|
||
|
},
|
||
|
include: metadata.include,
|
||
|
gherkin: {
|
||
|
features: RELATIVE_PATH + '/features/**/*.feature',
|
||
|
steps: metadata.gherkin_steps
|
||
|
},
|
||
|
name: 'storefront-reference-architecture'
|
||
|
};
|
||
|
|
||
|
exports.config = merge(merge(conf, codeceptjsShared.config.master), codeceptJsSauce.config.saucelabs(SAUCE_USER, SAUCE_KEY, userSpecificBrowsers));
|