diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2fc7e6a605d472b6a38cee6ad51a0d3c6593dddd --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/reports-tmp \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..7a73a41bfdf76d6f793007240d80983a52f15f97 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 36da3f2cb50e656acd28f071305ac9be1be12cdc..ee0e06d863de580017a626ca601d6f950d4ff48c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -285,7 +285,8 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true }, "cli-cursor": { "version": "2.1.0", @@ -588,6 +589,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^3.0.0", @@ -650,7 +652,8 @@ "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true }, "has-flag": { "version": "3.0.0", @@ -811,6 +814,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -819,6 +823,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-2.1.0.tgz", "integrity": "sha1-PTvNhgDnv971MjHHOf8FOu1WDkQ=", + "dev": true, "requires": { "graceful-fs": "^4.1.11" } @@ -869,7 +874,8 @@ "mkdirp": { "version": "0.3.5", "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=" + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", + "dev": true }, "ms": { "version": "2.1.1", @@ -1003,9 +1009,10 @@ "dev": true }, "protractor-beautiful-reporter": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/protractor-beautiful-reporter/-/protractor-beautiful-reporter-1.2.6.tgz", - "integrity": "sha512-fv1xEWnuY+eR+Rno26EhnUA7bPrTSfGlGwgDRGzmcYfSa26TH1JTDNNhzpYvnRVvY3YYizxsUVe/JEvWyNTZwQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/protractor-beautiful-reporter/-/protractor-beautiful-reporter-1.2.7.tgz", + "integrity": "sha512-bFbqCS0ims4XO3SwMBg1KGFhRdmLCi65h9TenwDlEUS5GiF3/Mm/qMFe9dkmZ043aaj5XR+yGGEe6tLpA0Jokg==", + "dev": true, "requires": { "circular-json": "^0.3.1", "fs-extra": "^3.0.1", @@ -1295,12 +1302,14 @@ "underscore": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=" + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "uri-js": { "version": "4.2.2", diff --git a/package.json b/package.json index 3d688a7427743f72435c57e3ab43b14a86565a93..90763f559947d56abc9a92a3aab7df0642b2878a 100644 --- a/package.json +++ b/package.json @@ -4,14 +4,14 @@ "description": "", "main": "protractor.conf.js", "dependencies": { - "@types/jasmine": "^2.8.11", - "protractor-beautiful-reporter": "^1.2.6" + "@types/jasmine": "^2.8.11" }, "devDependencies": { "babel-eslint": "^10.0.1", "eslint": "^5.9.0", "eslint-config-google": "^0.11.0", "jasmine-spec-reporter": "^4.2.1", + "protractor-beautiful-reporter": "^1.2.7", "ts-node": "^7.0.1", "typescript": "^3.1.6" }, diff --git a/protractor.conf.js b/protractor.conf.js index b5894780288ea5128dcd15257d4b10bd2fba850f..a624ffb2b8ec330349b6b1a4c5940a1bd2927ad1 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -4,7 +4,7 @@ const path = require('path'); exports.config = { allScriptsTimeout: 11000, - seleniumAddress: 'http://localhost:4444/wd/hub', + //seleniumAddress: 'http://localhost:4444/wd/hub', // The port to start the selenium server on, or null if the server should // find its own unused port. @@ -30,9 +30,11 @@ exports.config = { framework: 'jasmine', onPrepare: function() { + jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}})); + // Add a screenshot reporter: jasmine.getEnv().addReporter(new HtmlReporter({ - preserveDirectory: false, + preserveDirectory: true, takeScreenShotsOnlyForFailedSpecs: true, screenshotsSubfolder: 'images', jsonsSubfolder: 'jsons', @@ -43,20 +45,18 @@ exports.config = { }, }, pathBuilder: function pathBuilder(spec, descriptions, results, capabilities) { - // Return '<30-12-2016>/<browser>/<specname>' as path for screenshots: - // Example: '30-12-2016/firefox/list-should work'. const currentDate = new Date(); const day = currentDate.getDate(); const month = currentDate.getMonth() + 1; const year = currentDate.getFullYear(); + const time = currentDate.getHours() + ':' + currentDate.getMinutes() + '-' + currentDate.getSeconds(); const validDescriptions = descriptions.map(function(description) { return description.replace('/', '@'); }); return path.join( - day + '-' + month + '-' + year, - // capabilities.get('browserName'), + day + '-' + month + '-' + year +'-'+ time, validDescriptions.join('-')); }, }).getJasmine2Reporter()); @@ -65,9 +65,6 @@ exports.config = { jasmineNodeOpts: { showColors: true, defaultTimeoutInterval: 30000, - print: function() {} - }, - onPrepare: function() { - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + print: function() {}, }, }; diff --git a/specs/test.spec.js b/specs/test.spec.js index 81fa147940418b95ff29e2fcf2e63c88d453a625..00d0346b00d17cd3128dcff6de5da7de72a6b260 100644 --- a/specs/test.spec.js +++ b/specs/test.spec.js @@ -1,32 +1,37 @@ describe('Protractor Demo App', function() { - const firstNumber = element(by.model('first')); - const secondNumber = element(by.model('second')); - const goButton = element(by.id('gobutton')); - const latestResult = element(by.binding('latest')); - const history = element.all(by.repeater('result in memory')); + const firstNumber = element(by.model('first')); + const secondNumber = element(by.model('second')); + const goButton = element(by.id('gobutton')); + // const latestResult = element(by.binding('latest')); + const history = element.all(by.repeater('result in memory')); - function add(a, b) { - firstNumber.sendKeys(a); - secondNumber.sendKeys(b); - goButton.click(); - } + /** + * + * @param {*} a + * @param {*} b + */ + function add(a, b) { + firstNumber.sendKeys(a); + secondNumber.sendKeys(b); + goButton.click(); + } - beforeEach(function() { - browser.get('http://juliemr.github.io/protractor-demo/'); - }); + beforeEach(function() { + browser.get('http://juliemr.github.io/protractor-demo/'); + }); - it('should have a history', function() { - add(1, 2); - add(3, 4); + it('should have a history', function() { + add(1, 2); + add(3, 4); - expect(history.count()).toEqual(2); + expect(history.count()).toEqual(2); - add(5, 6); + add(5, 6); - expect(history.count()).toEqual(0); // This is wrong! - }); + expect(history.count()).toEqual(3); // This is wrong! + }); - it('should like corentin', function() { - expect(true).toBe(true); - }); + it('should like corentin', function() { + expect(true).toBe(true); + }); });