diff options
| author | Julie | 2014-01-30 22:09:09 -0800 |
|---|---|---|
| committer | Igor Minar | 2014-02-05 15:40:16 -0800 |
| commit | 84467d869730c6821c07496f510355ab73e7c10b (patch) | |
| tree | 726315b47d229fd92ba6dd5390dd12e117234826 | |
| parent | 0e85ca9ddb5f259908400463764fd6141977b341 (diff) | |
| download | angular.js-84467d869730c6821c07496f510355ab73e7c10b.tar.bz2 | |
refactor(testing): run end to end tests on separate browsers in parallel
| -rw-r--r-- | .travis.yml | 4 | ||||
| -rw-r--r-- | Gruntfile.js | 6 | ||||
| -rw-r--r-- | docs/content/misc/contribute.ngdoc | 2 | ||||
| -rw-r--r-- | lib/grunt/plugins.js | 2 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rwxr-xr-x | scripts/travis/build.sh | 13 |
6 files changed, 15 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml index dbfe2854..fb038aba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,9 @@ node_js: env: matrix: - JOB=unit - - JOB=e2e + - JOB=e2e-chrome + - JOB=e2e-firefox + - JOB=e2e-safari global: - SAUCE_USERNAME=angular-ci - SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987 diff --git a/Gruntfile.js b/Gruntfile.js index 7f36395f..d9e58049 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -90,7 +90,7 @@ module.exports = function(grunt) { }, - runprotractor: { + protractor: { normal: 'protractor-conf.js', jenkins: 'protractor-jenkins-conf.js' }, @@ -291,8 +291,8 @@ module.exports = function(grunt) { grunt.registerTask('test:modules', 'Run the Karma module tests with Karma', ['tests:modules']); grunt.registerTask('test:docs', 'Run the doc-page tests with Karma', ['package', 'tests:docs']); grunt.registerTask('test:unit', 'Run unit, jQuery and Karma module tests with Karma', ['tests:jqlite', 'tests:jquery', 'tests:modules']); - grunt.registerTask('test:protractor', 'Run the end to end tests with Protractor and keep a test server running in the background', ['webdriver', 'connect:testserver', 'runprotractor:normal']); - grunt.registerTask('test:ci-protractor', 'Run the end to end tests with Protractor and keep a test server running in the background', ['webdriver', 'connect:testserver', 'runprotractor:jenkins']); + grunt.registerTask('test:protractor', 'Run the end to end tests with Protractor and keep a test server running in the background', ['webdriver', 'connect:testserver', 'protractor:normal']); + grunt.registerTask('test:ci-protractor', 'Run the end to end tests with Protractor and keep a test server running in the background', ['webdriver', 'connect:testserver', 'protractor:jenkins']); grunt.registerTask('test:e2e', 'Alias for test:protractor', ['test:protractor']); grunt.registerTask('test:docgen', ['jasmine_node']); grunt.registerTask('test:promises-aplus',['build:promises-aplus-adapter','shell:promises-aplus-tests']); diff --git a/docs/content/misc/contribute.ngdoc b/docs/content/misc/contribute.ngdoc index cfed161b..bd94f630 100644 --- a/docs/content/misc/contribute.ngdoc +++ b/docs/content/misc/contribute.ngdoc @@ -135,7 +135,7 @@ made available a local web server based on Node.js. ## Running the Unit Test Suite -We write unit tests with Jasmine and execute them with Karma. To run all of the +We write unit and integration tests with Jasmine and execute them with Karma. To run all of the tests once on Chrome run: ```shell diff --git a/lib/grunt/plugins.js b/lib/grunt/plugins.js index a269cf82..59fee2e4 100644 --- a/lib/grunt/plugins.js +++ b/lib/grunt/plugins.js @@ -65,7 +65,7 @@ module.exports = function(grunt) { util.updateWebdriver.call(util, this.async()); }); - grunt.registerMultiTask('runprotractor', 'Run Protractor integration tests', function() { + grunt.registerMultiTask('protractor', 'Run Protractor integration tests', function() { util.startProtractor.call(util, this.data, this.async()); }); diff --git a/package.json b/package.json index 51c4c06a..828dd45e 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "karma-sauce-launcher": "0.2.0", "karma-script-launcher": "0.1.0", "karma-browserstack-launcher": "0.0.7", - "protractor": "~0.17.0", + "protractor": "~0.18.0", "yaml-js": "~0.0.8", "marked": "0.2.9", "rewire": "1.1.3", diff --git a/scripts/travis/build.sh b/scripts/travis/build.sh index b28b8e02..b07e2069 100755 --- a/scripts/travis/build.sh +++ b/scripts/travis/build.sh @@ -3,20 +3,19 @@ set -e export SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev` +export BROWSER=${JOB#*-} if [ $JOB = "unit" ]; then grunt ci-checks grunt test:docgen grunt test:promises-aplus grunt test:unit --browsers SL_Chrome,SL_Safari,SL_Firefox,SL_IE_8,SL_IE_9,SL_IE_10,SL_IE_11 --reporters dots -elif [ $JOB = "e2e" ]; then - export SAUCE_OPTIONS="--sauceUser $SAUCE_USERNAME \ +elif [[ $JOB == e2e* ]]; then + grunt test:protractor --sauceUser $SAUCE_USERNAME \ --sauceKey $SAUCE_ACCESS_KEY \ --capabilities.tunnel-identifier=$TRAVIS_JOB_NUMBER \ - --capabilities.build=$TRAVIS_BUILD_NUMBER" - grunt test:protractor $SAUCE_OPTIONS - grunt test:protractor $SAUCE_OPTIONS --browser=firefox - grunt test:protractor $SAUCE_OPTIONS --browser=safari + --capabilities.build=$TRAVIS_BUILD_NUMBER \ + --browser=$BROWSER else - echo "Unknown job type. Please set JOB=unit or JOB=e2e." + echo "Unknown job type. Please set JOB=unit or JOB=e2e-*." fi |
