mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
138 lines
3.9 KiB
JavaScript
138 lines
3.9 KiB
JavaScript
// Protractor configuration file, see link for more information
|
|
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
|
|
|
const path = require('path');
|
|
const {SpecReporter} = require('jasmine-spec-reporter');
|
|
const jasmineReporters = require('jasmine-reporters');
|
|
const retry = require('protractor-retry').retry;
|
|
|
|
const projectRoot = path.resolve(__dirname);
|
|
|
|
const width = 1366;
|
|
const height = 768;
|
|
|
|
var HOST = process.env.URL_HOST_ADF;
|
|
var BROWSER_RUN = process.env.BROWSER_RUN;
|
|
var FOLDER = process.env.FOLDER || '';
|
|
var SELENIUM_SERVER = process.env.SELENIUM_SERVER || '';
|
|
var DIRECT_CONNECCT = SELENIUM_SERVER ? false : true;
|
|
var NAME_TEST = process.env.NAME_TEST ? true : false
|
|
|
|
var specsToRun = './e2e/' + FOLDER + '**/*.e2e.ts';
|
|
|
|
if (process.env.NAME_TEST) {
|
|
specsToRun = './e2e/**/' + process.env.NAME_TEST;
|
|
}
|
|
|
|
var args_options = [];
|
|
|
|
if (BROWSER_RUN === 'true') {
|
|
args_options = ['--incognito', '--window-size=1366,768', '--disable-gpu'];
|
|
} else {
|
|
args_options = ['--incognito', '--headless', '--window-size=1366,768', '--disable-gpu'];
|
|
}
|
|
|
|
var downloadFolder = path.join(__dirname, 'e2e/downloads');
|
|
|
|
exports.config = {
|
|
allScriptsTimeout: 60000,
|
|
|
|
specs: [
|
|
specsToRun
|
|
],
|
|
|
|
capabilities: {
|
|
browserName: 'chrome',
|
|
|
|
shardTestFiles: true,
|
|
maxInstances: 2,
|
|
chromeOptions: {
|
|
prefs: {
|
|
'credentials_enable_service': false,
|
|
'download': {
|
|
'prompt_for_download': false,
|
|
'default_directory': downloadFolder
|
|
}
|
|
},
|
|
args: args_options
|
|
}
|
|
},
|
|
|
|
directConnect: DIRECT_CONNECCT,
|
|
|
|
baseUrl: "http://" + HOST,
|
|
|
|
framework: 'jasmine2',
|
|
|
|
jasmineNodeOpts: {
|
|
showColors: true,
|
|
defaultTimeoutInterval: 90000,
|
|
print: function () {
|
|
}
|
|
},
|
|
|
|
/**
|
|
* The address of a running selenium server (must be manually start before running the tests). If this is specified seleniumServerJar and seleniumPort will be ignored.
|
|
* @config {String} seleniumAddress
|
|
*/
|
|
seleniumAddress: SELENIUM_SERVER,
|
|
|
|
plugins: [{
|
|
package: 'jasmine2-protractor-utils',
|
|
disableHTMLReport: false,
|
|
disableScreenshot: false,
|
|
screenshotOnExpectFailure: true,
|
|
screenshotOnSpecFailure: false,
|
|
clearFoldersBeforeTest: true,
|
|
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
|
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
|
}],
|
|
|
|
onCleanUp(results) {
|
|
retry.onCleanUp(results);
|
|
},
|
|
|
|
onPrepare() {
|
|
retry.onPrepare();
|
|
|
|
require('ts-node').register({
|
|
project: 'e2e/tsconfig.e2e.json'
|
|
});
|
|
|
|
browser.manage().window().setSize(width, height);
|
|
|
|
jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
|
|
|
|
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
|
|
consolidateAll: true,
|
|
savePath: `${projectRoot}/e2e-output/junit-report`,
|
|
filePrefix: 'results.xml',
|
|
useDotNotation: false,
|
|
useFullTestName: false,
|
|
reportFailedUrl: true
|
|
}));
|
|
|
|
return browser.driver.executeScript(disableCSSAnimation);
|
|
|
|
function disableCSSAnimation() {
|
|
var css = '* {' +
|
|
'-webkit-transition-duration: 0s !important;' +
|
|
'transition-duration: 0s !important;' +
|
|
'-webkit-animation-duration: 0s !important;' +
|
|
'animation-duration: 0s !important;' +
|
|
'}',
|
|
head = document.head || document.getElementsByTagName('head')[0],
|
|
style = document.createElement('style');
|
|
|
|
style.type = 'text/css';
|
|
style.appendChild(document.createTextNode(css));
|
|
head.appendChild(style);
|
|
}
|
|
|
|
},
|
|
|
|
afterLaunch() {
|
|
return retry.afterLaunch(3);
|
|
}
|
|
};
|