From f4f463bc1d40af9cd6b9cc54fa67b93e9d8e3319 Mon Sep 17 00:00:00 2001 From: Alex Sadri Date: Wed, 29 Jun 2016 23:33:14 +0200 Subject: [PATCH] * Added first e2e spec * Added dev dependencies to package.json * Added protractor config * Adjusted Typings for e2e tests --- app/src/app.component.spec.e2e.ts | 11 +++++++ package.json | 4 +++ protractor.conf.js | 48 +++++++++++++++++++++++++++++++ typings.json | 11 ++++--- 4 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 app/src/app.component.spec.e2e.ts create mode 100644 protractor.conf.js diff --git a/app/src/app.component.spec.e2e.ts b/app/src/app.component.spec.e2e.ts new file mode 100644 index 0000000..e3790f2 --- /dev/null +++ b/app/src/app.component.spec.e2e.ts @@ -0,0 +1,11 @@ +describe('App', () => { + + beforeEach( () => { + browser.get('/'); + }); + + it('should have a title', () => { + expect(browser.getTitle()).toEqual('Angular 2 Seed [using RC3] - Minimalistic TypeScript starter project'); + }); + +}); diff --git a/package.json b/package.json index a81ff93..a5a11c8 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,10 @@ "gulp-typescript": "^2.10.0", "gulp-uglify": "^1.5.3", "gulp-watch": "^4.3.5", + "jasmine-core": "^2.4.1", + "jasmine-spec-reporter": "^2.5.0", + "phantomjs": "^2.1.7", + "protractor": "^3.3.0", "run-sequence": "^1.1.5", "systemjs-builder": "^0.15.19", "tslint": "^3.11.0", diff --git a/protractor.conf.js b/protractor.conf.js new file mode 100644 index 0000000..42b4883 --- /dev/null +++ b/protractor.conf.js @@ -0,0 +1,48 @@ +exports.config = { + + baseUrl: 'http://localhost:8080/', + + /* + * Set to direct connect if tests are run locally (only Chrome / Firefox) + */ + // directConnect: true, + + /* + * Set seleniumAddress to phantomJS Ghost instance + * Usage: node node_modules/phantomjs/bin/phantomjs --webdriver=4444 + */ + seleniumAddress: 'http://localhost:4444', + + /* + * Set seleniumAddress to webdriver-manager default when using other browsers + * Usage: webdriver-manager start + */ + // seleniumAddress: 'http://localhost:4444/wd/hub', + + specs: [ + './app/src/**/*.spec.e2e.js' + ], + + framework: 'jasmine', + + jasmineNodeOpts: { + showColors: true + }, + + capabilities: { + // browserName: 'chrome' + + 'browserName': 'phantomjs', + 'phantomjs.binary.path': './node_modules/phantomjs/bin/phantomjs', + 'phantomjs.cli.args': ['--logfile=PATH', '--loglevel=DEBUG'] + }, + + onPrepare: function() { + const SpecReporter = require('jasmine-spec-reporter'); + jasmine.getEnv().addReporter(new SpecReporter({ displayStacktrace: 'all' })); + + browser.ignoreSynchronization = false; + }, + + useAllAngular2AppRoots: true +}; diff --git a/typings.json b/typings.json index 0739404..3dde381 100644 --- a/typings.json +++ b/typings.json @@ -3,8 +3,11 @@ "version": false, "dependencies": {}, "globalDependencies": { - "es6-collections": "registry:dt/es6-collections#0.5.1+20160316155526", - "es6-promise": "registry:dt/es6-promise#0.0.0+20160423074304", - "node": "registry:dt/node#4.0.0+20160423143914" + "angular-protractor": "github:DefinitelyTyped/DefinitelyTyped/angular-protractor/angular-protractor.d.ts#64b25f63f0ec821040a5d3e049a976865062ed9d", + "es6-collections": "registry:dt/es6-collections#0.5.1+20160316155526", + "es6-promise": "registry:dt/es6-promise#0.0.0+20160423074304", + "node": "registry:dt/node#4.0.0+20160423143914", + "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#26c98c8a9530c44f8c801ccc3b2057e2101187ee", + "selenium-webdriver": "github:DefinitelyTyped/DefinitelyTyped/selenium-webdriver/selenium-webdriver.d.ts#a83677ed13add14c2ab06c7325d182d0ba2784ea" } -} \ No newline at end of file +}