aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulie2014-01-30 22:09:09 -0800
committerIgor Minar2014-02-05 15:40:16 -0800
commit84467d869730c6821c07496f510355ab73e7c10b (patch)
tree726315b47d229fd92ba6dd5390dd12e117234826
parent0e85ca9ddb5f259908400463764fd6141977b341 (diff)
downloadangular.js-84467d869730c6821c07496f510355ab73e7c10b.tar.bz2
refactor(testing): run end to end tests on separate browsers in parallel
-rw-r--r--.travis.yml4
-rw-r--r--Gruntfile.js6
-rw-r--r--docs/content/misc/contribute.ngdoc2
-rw-r--r--lib/grunt/plugins.js2
-rw-r--r--package.json2
-rwxr-xr-xscripts/travis/build.sh13
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