Skip to content

Commit a6b2da3

Browse files
committed
faster selenium testing
1 parent 49cc72f commit a6b2da3

File tree

1 file changed

+37
-27
lines changed

1 file changed

+37
-27
lines changed

gulpfile.js

+37-27
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var ngrok = require('ngrok');
2020
var staticTransform = require('connect-static-transform');
2121
var pkg = require('./package.json');
2222
var extend = require('util')._extend;
23+
var fs = require('fs');
2324
var server;
2425

2526
gulp.task('release', function(callback) {
@@ -112,42 +113,51 @@ gulp.task('serve:stop', function() {
112113
});
113114

114115
gulp.task('selenium', function(done) {
115-
gutil.log('Setting up Selenium server...');
116-
selenium.install({
117-
logger: function(message) { gutil.log(message); }
118-
}, function(err) {
119-
if (err) {
120-
done(err);
121-
return;
122-
}
116+
var start = function(err) {
123117
gutil.log('Starting Selenium server...');
124118
selenium.start(function(err, child) {
125119
gutil.log('Selenium server started');
126120
selenium.child = child;
127121
done(err);
128122
});
129-
});
130-
});
131-
132-
gulp.task('test', ['lint', 'serve:test', 'selenium'], function(done) {
133-
var error;
134-
gutil.log('Starting webdriver...');
135-
136-
var finish = function(err) {
137-
gutil.log('Webdriver stopped');
138-
selenium.child.kill();
139-
gutil.log('Selenium server stopped');
140-
gulp.start('serve:stop');
141-
done(error || err);
142123
};
143124

125+
try {
126+
fs.statSync('node_modules/selenium-standalone/.selenium');
127+
start();
128+
} catch (e) {
129+
gutil.log('Setting up Selenium server...');
130+
selenium.install({
131+
logger: function(message) { gutil.log(message); }
132+
}, function(err) {
133+
start(err);
134+
});
135+
}
136+
});
144137

145-
gulp.src('test/conf/local.conf.js')
146-
.pipe(webdriver({
147-
baseUrl: 'http://localhost:8000'
148-
}))
149-
.on('error', function(err) { error = err; })
150-
.on('finish', finish);
138+
gulp.task('test', function(done) {
139+
sequence('lint', 'serve:test', 'selenium', function() {
140+
var error;
141+
gutil.log('Starting webdriver...');
142+
143+
var finish = function(err) {
144+
gutil.log('Webdriver stopped');
145+
selenium.child.kill();
146+
gutil.log('Selenium server stopped');
147+
gulp.start('serve:stop');
148+
done(error || err);
149+
};
150+
151+
gulp.src('test/conf/local.conf.js')
152+
.pipe(webdriver({
153+
baseUrl: 'http://localhost:8000'
154+
}))
155+
.on('error', function(err) {
156+
console.error(err);
157+
error = err;
158+
})
159+
.on('finish', finish);
160+
});
151161
});
152162

153163
gulp.task('test:cloud', ['lint', 'serve:test'], function(done) {

0 commit comments

Comments
 (0)