diff --git a/.gitignore b/.gitignore index 54bfd2001..57eba63ef 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ testem.log # e2e /e2e/*.js /e2e/*.map +/e2e-output # System Files .DS_Store diff --git a/package.json b/package.json index e4b5ebe6f..36a7febf0 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,9 @@ "@types/node": "~6.0.60", "codelyzer": "~3.2.0", "jasmine-core": "~2.6.2", + "jasmine-reporters": "2.2.1", "jasmine-spec-reporter": "~4.1.0", + "jasmine2-protractor-utils": "1.3.0", "karma": "~1.7.0", "karma-chrome-launcher": "~2.1.1", "karma-cli": "~1.0.1", diff --git a/protractor.conf.js b/protractor.conf.js index 86077e063..7b23c1dd7 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -1,15 +1,25 @@ // 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 projectRoot = path.resolve(__dirname); exports.config = { allScriptsTimeout: 11000, specs: [ - './e2e/**/*.test.ts' + './e2e/suites/authentication/login.test.ts', + // './e2e/**/*.test.ts' ], capabilities: { - 'browserName': 'chrome' + 'browserName': 'chrome', + chromeOptions: { + prefs: { + 'credentials_enable_service': false + } + } }, directConnect: true, baseUrl: 'http://localhost:3000', @@ -19,10 +29,30 @@ exports.config = { defaultTimeoutInterval: 30000, print: function() {} }, + 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/` + }], onPrepare() { require('ts-node').register({ project: 'e2e/tsconfig.e2e.json' }); jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + + jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({ + consolidateAll: true, + savePath: `${projectRoot}/e2e-output/junit-report`, + filePrefix: 'junit.xml', + useDotNotation: false, + useFullTestName: false, + reportFailedUrl: true + })); + } };